Android|Android App 前后台切换监听 & registerActivityLifecycleCallbacks

需要根据监听 App 前后台切换,看到一篇不错的文章,转换成Kotlin代码,记录如下:
【Android|Android App 前后台切换监听 & registerActivityLifecycleCallbacks】在Application中,写如下代码,亲测有效!

override fun onCreate() { super.onCreate() initBackgroundCallBack() } /** * 用以判断app何时切换到 前台,从而判断云信是否登录,未登录则进行登录(在其他页面被踢) * * registerActivityLifecycleCallbacks方法, * 只要有一个activity的生命周期改变了,就会调用registerActivityLifecycleCallbacks的相应方法 */private fun initBackgroundCallBack() { var account = 0 var isRunInBackground = true registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks { override fun onActivityCreated(activity: Activity?, savedInstanceState: Bundle?) { }override fun onActivityResumed(activity: Activity?) { }override fun onActivityPaused(activity: Activity?) { }override fun onActivityStarted(activity: Activity?) { account++ if (isRunInBackground) { // 后台到前台,在此进行相应操作 isRunInBackground = false } }override fun onActivityStopped(activity: Activity?) { account-- if (account == 0) { // 前台到后台,在此进行相应操作 isRunInBackground = true } }override fun onActivityDestroyed(activity: Activity?) { }override fun onActivitySaveInstanceState(activity: Activity?, outState: Bundle?) { } }) }

    推荐阅读