我有一个多功能Android应用程序,启动后会创建ScheduledExecutorService。当用户离开应用程序时,ScheduledExecutorService继续运行。我要弄清楚的是,在停止应用程序之前,我可以在哪里指示ScheduledExecutorService停止?我不想将其放在每个活动的onPause / onStop中,因为我不想在活动之间停止ScheduledExecutorService。我只希望它在整个应用程序停止时停止。有什么想法吗?
感谢您的帮助!
答案 0 :(得分:0)
为此,您可以使用新的Android Lifecycle功能。不必听Activity的生命周期,而只是听整个应用程序的生命周期。只需创建一个Application类并向其中添加以下代码:
public class MyApplication extends Application implements LifecycleObserver {
@Override
public void onCreate() {
super.onCreate();
ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onEnterForeground(){
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void onEnterBackground(){
}
}
在gradle文件中添加此依赖项:
implementation "androidx.lifecycle:lifecycle-extensions:2.1.0"
您应该获得所需的效果。