如果应用程序在Android中强制closures,如何重置警报

如果我的应用程序使用AlarmManager设置的警报被清除

  1. 用户强制closures我的应用程序的设置。
  2. 一些任务杀手应用程序自动杀死我的应用程序进程。
  3. Android本身杀了我的应用程序,因为前端应用程序需要内存。

请告诉我如何检测它? 而是如何设置我的警报,以便所有这些情况下不会影响我的警报。

Solutions Collecting From Web of "如果应用程序在Android中强制closures,如何重置警报"

用户强制closures我的应用程序的设置。

是的,这会清除警报。

一些任务杀手应用程序自动杀死我的应用程序进程。

这不会清除任何最新版本的Android上的警报。

Android本身杀了我的应用程序,因为前端应用程序需要内存。

这不会清除警报。

请告诉我如何检测它?

保持上次发生警报的时间(例如,在SharedPreferences )的logging。 当你的代码运行(例如, LAUNCHER活动开始),检查最后一次报警时间。 如果很久以前,你知道你的警报已经清除了,所以你需要重新安排它们。

而是如何设置我的警报,以便所有这些情况下不会影响我的警报。

这不可能。 实际上清除报警的情况很less(重新启动和强制停止),在这种情况下,您无法做到防止您的报警被清除。

@CommonsWare正如你所说的那样:“很less有情况下,报警实际上被清除(重新启动和强制停止),并且在这种情况下你不能做任何事情来防止你的报警被清除。

但我觉得两者都可以处理:

重新启动:意图操作android.intent.action.BOOT_COMPLETED

强制closures:可以处理,如果应用程序与某些服务器通信,并且在那里你可以集成GCM,最终可以启动你的应用程序,如果它的死亡。 如onReceive:

 final Intent notificationIntent = new Intent(context, YourActivity.class); notificationIntent.setAction(Intent.ACTION_MAIN); notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER); 

开始你的申请。

让我知道如果我错了。