【问题标题】:How to hook into Android Application lifecycle?如何挂钩 Android 应用程序生命周期?
【发布时间】:2017-08-28 15:56:21
【问题描述】:

Android 支持通过 Application.ActivityLifecycleCallbacks 连接到 Activity 生命周期,但我找不到轻松连接到 Application 的方法。为什么Application 生命周期没有类似的接口?

我想知道应用程序是否在后台/前台,并且我不想手动进行计数(可以使用Application.ActivityLifecycleCallbacks)。

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

我看到ApplicationLifecycleCallback 包中有一个ApplicationLifecycleCallback 接口可用(仅用于测试)。为什么不将android.app 包中的类似内容暴露为Application.ActivityLifecycleCallbacks

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

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

【问题讨论】:

    标签: android android-lifecycle background-foreground


    【解决方案1】:

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

    如果这是您从架构组件定义“Application 生命周期”,use ProcessLifecycleOwner 的方式。

    【讨论】:

    • 该死的,你的速度很快 ;-) 每次我开始写答案时,你的速度都更快。干得好:)
    • > 该死的,你速度很快 ;-) @EmanuelSeibold 非常正确 @CommonsWare 不知道 ProcessLifecycleOwner。非常感谢!
    • @Guardiola31337:它很新,因为架构组件于 2017 年 5 月首次发布。而且,目前它们仍处于 alpha 状态,所以是 YMMV。 FWIW,here is a sample app 展示了它的使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    • 2011-08-19
    相关资源
    最近更新 更多