我的主要目标是在24小时后向用户发送一个通知,当用户将设备更改为过去时会出现问题。
我的代码仅适用于未来,有人可以向我解释如何修复它吗?
am.setRepeating(AlarmManager.RTC_WAKEUP, firstTime, AlarmManager.INTERVAL_DAY, alarmIntent);
答案 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);