11

我的应用程序使用 AlarmManager 设置的警报在以下情况下被清除

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

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

4

1 回答 1

31

用户强制在设置中关闭我的应用程序。

是的,这可以清除警报。

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

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

由于前端应用程序需要内存,Android 本身杀死了我的应用程序。

这不会清除警报。

请告诉我如何检测它?

记录您的警报上次发生的时间(例如,在SharedPreferences)。当您的代码运行时(例如,LAUNCHER活动开始),检查最后警报时间。如果是很久以前,您知道您的警报已清除,因此您需要重新安排它们。

而是如何设置我的闹钟,以便所有这些情况都不会影响我的闹钟。

这是不可能的。实际清除警报的情况很少(重新启动和强制停止),在这些情况下您无法阻止警报被清除。

于 2012-12-26T13:43:41.823 回答