如何挂钩Android应用程序生命周期?

时间:2017-08-28 15:56:21

标签: android android-lifecycle background-foreground

Android支持通过Application.ActivityLifecycleCallbacks挂钩Activity生命周期,但我无法找到轻松挂钩Application的方法。为什么Application生命周期没有类似的界面?

我想知道应用是否处于后台/前台,我不想手动进行计数(使用Application.ActivityLifecycleCallbacks可行)。

我正在开发一个Android库,其中一个用例需要知道包含lib的应用程序是否在后台/前台。

我看到android.support.test.runner.lifecycle包中有一个ApplicationLifecycleCallback接口(仅用于测试)。为什么不在android.app包中展示与Application.ActivityLifecycleCallbacks相似的内容?

如何完成我的用例?你会如何实现它?

任何提示/想法/解决方法都非常受欢迎。非常感谢!

1 个答案:

答案 0 :(得分:7)

  

我想知道应用程序是否处于后台/前台,我不想手动执行计数(使用Application.ActivityLifecycleCallbacks可行)。

如果您是如何定义“Application生命周期”,use ProcessLifecycleOwner来自架构组件。