当用户从设备更改日期时的警报管理器

时间:2016-06-26 11:34:54

标签: android

我的主要目标是在24小时后向用户发送一个通知,当用户将设备更改为过去时会出现问题。

我的代码仅适用于未来,有人可以向我解释如何修复它吗?

am.setRepeating(AlarmManager.RTC_WAKEUP, firstTime, AlarmManager.INTERVAL_DAY, alarmIntent);

1 个答案:

答案 0 :(得分:0)

你应该使用ELAPSED_REALTIME_WAKEUP在24小时内发出警告 ,而不是在明天的X时间发出

ELAPSED_REALTIME_WAKEUP - 在设备启动后经过指定的时间后,唤醒设备并触发待处理的意图。

来源:Android开发者

此示例每30分钟触发一次警报,并且对时钟更改不敏感:

    alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,

         AlarmManager.INTERVAL_HALF_HOUR,

   AlarmManager.INTERVAL_HALF_HOUR, 

alarmIntent);