2016-03-07 38 views

回答

2

当您强制关闭任务时,它会进入停止状态。在活动再次运行之前,不允许运行服务或广播。这与刚刚下载的应用程序的状态相同,只有用户在其中启动任何服务或广播才能工作。

+0

我已经看过帖子/评论说,一种技术,让您的服务始终运行是使用alarmmanager来检查您的服务正在运行..如果不启动它..如何做到这一点? – yeahman

+0

如果你因为资源而死亡,或者如果坠毁,你没有运行,那么这个方法就行得通。它不适用于武力关闭。 –

+0

ok thx。我想没有办法做到这一点呢? – yeahman

0

是的,该过程的任何警报将被取消。

@CommonsWare解释这个比我在这answer更好。他还提出了一个可行的虽然不是理想的解决方案:

维护当你的报警上次发生的记录(例如,在 SharedPreferences)。当您的代码运行时(例如,LAUNCHER活动启动了 ),请检查最后警报时间。如果这是很久以前,你知道你的报警已被清除,所以你需要重新安排他们 。