美文网首页
Android-前后台切换监听

Android-前后台切换监听

作者: 喂_balabala | 来源:发表于2024-07-25 12:37 被阅读0次
    • 通过RunningAppProcessInfo 获取当前包名的进程是否在前台不准确

    方案

    1、在BaseActivity中用list集合保存已打开的Activity实例,保存当前ActivityonCreate时的所有界面数量

        private val myActivitys = ArrayList<Activity>()
        private var curActivityCount = 0
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            myActivitys.add(this)
            curActivityCount = myActivitys.size
        }
    

    2、在BaseActivityonStop中判断界面数量是否有新增和是否正在销毁,就可区分当前是被遮住了还是在销毁界面还是退到后台了

    • isFinishingActivity自有函数
        override fun onStop() {
            super.onStop()
            if (curActivityCount == myActivitys.size && !isFinishing) {
                //退到后台了
            }
        }
    

    3、退到后台后,此时当前ActivityonResume自然就是监听切换回前台的函数了

    相关文章

      网友评论

          本文标题:Android-前后台切换监听

          本文链接:https://www.haomeiwen.com/subject/bxxmhjtx.html