我已经使用警报管理器设置了警报,并对其进行测试以手动更改设备的时间。此时,警报不会触发,但是如果我们等到触发时间,就会触发警报。有没有更好的选择来测试警报?
警报设置代码如下。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
alarmManager.setExactAndAllowWhileIdle(
AlarmManager.RTC_WAKEUP,
total,
operation
)
} else {
alarmManager.setExact(
AlarmManager.RTC_WAKEUP,
total,
operation
)
}
否,不会由AlarmManager
触发。因此,您应该听取时间更改操作并重新创建警报。
这些动作是
Intent.ACTION_TIME_TICK
Intent.ACTION_TIMEZONE_CHANGED
Intent.ACTION_TIME_CHANGED
does Alarm Manager persist even after reboot?是更好的答案,可以帮助您理解并解决问题。
为了获得更好的理解,您可以按照Date and time change listener in Android?