Android - 全球知道应用进入后台/用户退出的时间

时间:2016-08-29 05:11:34

标签: java android android-lifecycle

我知道您可以在onStop方法上覆盖onStart的活动,以了解活动何时开始/退出。我遇到的问题是我希望在用户打开应用程序之前保持会话打开,直到它进入后台/用户退出并且为每个活动绑定到onStop(对于结束会话)没有给出结果我想要,它会结束每个新活动的会话。所以我想知道当用户将应用程序置于后台或退出时我有什么选择。

我想到的一件事就是跟踪onStart和onStop(或者活动生命周期中的任意两种组合),所以我知道在应用程序退出之前我是否有没有onStart的onStop。这似乎非常hacky,不确定它是否适合开始。

感谢您的任何意见。

1 个答案:

答案 0 :(得分:1)

您可以扩展Application类并使用registerActivityLifecycleCallbacks来构建逻辑。

使用例如这两个回调:

@Override
public void onActivityResumed(Activity activity) {
    mBackground = false;
}

@Override
public void onActivityPaused(Activity activity) {
    mBackground = true;
}

https://developer.android.com/reference/android/app/Application.html#registerActivityLifecycleCallbacks(android.app.Application.ActivityLifecycleCallbacks)