android - 如果在 Android 中强制关闭应用程序,如何重置警报

标签 android alarmmanager

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

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

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

最佳答案

The user force closes my app in the settings.

是的,这会清除警报。

Some task killer app auto-killed my app process.

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

Android itself killed my app, because of the need of memory for front apps.

这不会清除警报。

Please tell me how do I detect it?

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

rather how to set my alarms so that all these cases dont affect my alarms.

这是不可能的。警报实际上被清除的情况很少(重启和强制停止),在这些情况下您无法采取任何措施来阻止警报被清除。

关于android - 如果在 Android 中强制关闭应用程序,如何重置警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14041208/

相关文章:

java - Android:防止Alert中的EditText为空

android - 是否可以将设备 ROM 闪存到 AVD 模拟器或 genymotion?

android - 通过日历对象设置闹钟

android - 如何在启动后的预定时间打开 Activity

关闭应用后取消安卓闹钟

Java\Android 时间戳返回错误的小时值

java - 有什么方法可以恢复 YouTube API 视频吗?

android - 即使在适配器上调用 notifyDataSetChange() 后,抽屉导航 ListView 也不会更新新项目

android - 为什么服务不工作 "immediately"?

android - AlarmManager 将 Activity 从 Sleep 中唤醒,但 Activity 异常关闭