如何在 Android 中检查活动生命周期状态

Oly*_*lya 6 android android-lifecycle

我想根据我拥有的生命周期状态处理我的数据。

比如我想做点什么,当申请恢复的时候。我怎样才能知道我的应用程序现在处于哪个状态?感谢帮助。

The*_*Jan 11

在活动中:if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.RESUMED)) ...我想。如果您询问异步任务。


Sam*_*net 0

对于自定义类,您可以使用架构组件的生命周期,首先添加库

annotationProcessor "android.arch.lifecycle:compiler:1.1.1"
Run Code Online (Sandbox Code Playgroud)

然后是你的自定义类,例如

public class MyObserver implements LifecycleObserver {
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    public void connectListener() {
        ...
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
    public void disconnectListener() {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

最后来自您的生命周期容器(活动/片段)

myActivity.getLifecycle().addObserver(new MyObserver());
Run Code Online (Sandbox Code Playgroud)

更多信息请参见https://developer.android.com/topic/libraries/architecture/lifecycle.html