Application使用ActivityLifecycleCallbacks

ActivityLifecycleCallbacks可以获取应用中所有的activity切换的生命周期,取得Activity中的一些属性

class LauncherApp : Application() {

    override fun onCreate() {
        super.onCreate()
        // 注册监听
        registerActivityLifecycleCallbacks(activityLifecycleCallbacks);
    }

    // 活动生命周期监听器
    private val activityLifecycleCallbacks: ActivityLifecycleCallbacks =
        object : ActivityLifecycleCallbacks {
            private val activityList: MutableList<Activity> = ArrayList()
            override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {
                activityList.add(activity)
                Log.d("MyApplication", "Activity created: " + activity.javaClass.simpleName)
            }

            override fun onActivityStarted(activity: Activity) {
                Log.d("MyApplication", "Activity started: " + activity.javaClass.simpleName)
            }

            override fun onActivityResumed(activity: Activity) {
                Log.d("MyApplication", "Activity resumed: " + activity.javaClass.simpleName)
            }

            override fun onActivityPaused(activity: Activity) {
                Log.d("MyApplication", "Activity paused: " + activity.javaClass.simpleName)
            }

            override fun onActivityStopped(activity: Activity) {
                Log.d("MyApplication", "Activity stopped: " + activity.javaClass.simpleName)
            }

            override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {
                Log.d("MyApplication", "Activity save instance state: " + activity.javaClass.simpleName)
            }

            override fun onActivityDestroyed(activity: Activity) {
                activityList.remove(activity)
                val isFinish = activity.isFinishing
                Log.d("MyApplication", "Activity destroyed: " + activity.javaClass.simpleName + ", isFinish = " + isFinish)
                if (activityList.isEmpty()) {
                    unregisterActivityLifecycleCallbacks(this)
                }
            }
        }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容