如何挂钩到Android应用程序生命周期?
问题描述:
Android支持通过Application.ActivityLifecycleCallbacks
挂钩到Activity
生命周期,但我找不到方法轻松将挂钩到Application
之一。为什么Application
生命周期中没有类似的接口?如何挂钩到Android应用程序生命周期?
我想知道一个应用程序是否在后台/前台,我不想手动进行计数(可行使用Application.ActivityLifecycleCallbacks
)。
我正在开发一个Android库,其中一个用例需要知道包含lib的应用程序是否在后台/前台。
我看到android.support.test.runner.lifecycle
包中有一个ApplicationLifecycleCallback
接口可用(仅用于测试)。为什么不在android.app
包内暴露类似Application.ActivityLifecycleCallbacks
的东西?
如何完成我的用例?你将如何实现它?
任何提示/想法/解决方法将是非常值得欢迎的。非常感谢!
答
我想知道一个应用程序是否在后台/前台,我不想手动进行计数(使用Application.ActivityLifecycleCallbacks可行)。
如果这就是您如何从架构组件定义“Application
生命周期”,use ProcessLifecycleOwner
。
该死的,你很快;-)每次我开始写你的答案更快。做得好:) –
>该死的,你很快;-) @EmanuelSeibold非常真实 @CommonsWare不知道'ProcessLifecycleOwner'。非常感谢! – Guardiola31337
@ Guardiola31337:由于架构组件于2017年5月首次发布,因此非常新颖。目前,它们仍处于alpha状态,所以YMMV。 FWIW,[这里是一个示例应用程序](https://github.com/commonsguy/cw-androidarch/tree/v0.2/General/ProcessLifecycle)展示其用法。 – CommonsWare