如果用户在设置中强制关闭我的应用程序,则使用AlarmManager设置的我的应用程序警报将被清除。
- 某些任务杀手应用程序自动杀死了我的应用程序进程。
- Android本身杀死了我的应用程序,因为前台应用程序需要内存。
请告诉我如何检测它?或者如何设置我的警报,使得所有这些情况都不会影响我的警报。
如果用户在设置中强制关闭我的应用程序,则使用AlarmManager设置的我的应用程序警报将被清除。
请告诉我如何检测它?或者如何设置我的警报,使得所有这些情况都不会影响我的警报。
用户在设置中强制关闭了我的应用。
是的,这将清除警报。
某些任务管理器应用自动杀死了我的应用程序进程。
在任何最近版本的Android上都无法清除警报。
Android本身杀死了我的应用程序,因为前台应用程序需要内存。
这不会清除警报。
请告诉我如何检测它?
维护上次闹钟触发的时间记录(例如在SharedPreferences
中)。当你的代码运行时(例如启动LAUNCHER
活动),检查上次触发时间。如果很久以前,你就知道你的闹钟已被清除,所以需要重新安排它们。
如何设置我的闹钟,让所有这些情况都不影响我的闹钟。
这是不可能的。只有少数几种情况下会实际清除闹钟(重启和强制停止),你无法防止在这些情况下清除你的闹钟。
adb shell dumpsys alarm
(例如手动生成的NullPointerException
进行实验)来确认闹钟状态。 - CommonsWare