我有一个包含多个活动的应用程序。当应用程序启动时,一些警报被安排使用AlarmManager
并启动一些服务:
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
a.setInexactRepeating(...)
....
我想知道当用户退出应用程序时有什么方法可以保证每个服务都停止并且每个警报都没有安排。
问题是用户可以从不同的活动中离开应用程序,我不喜欢onDestroy
在每个活动中覆盖方法的想法。Intent
申请结束时我可以收到任何已知信息吗?
我还发现一个 Android 应用程序可以有一个从 扩展的类Application
,带有一个onTerminate
方法:
public class MyApplication extends Application {
@Override
public void onTerminate() {
...
}
}
但是文档非常清楚:“永远不要依赖调用此方法;在许多情况下,内核会简单地杀死不需要的应用程序进程而不执行任何应用程序代码”
任何建议都受到高度赞赏。