使用时AlarmManager要设置闹钟,除非您设置了精确的闹钟,否则可能会出现延迟,在指定时间之后的某个时间触发闹钟。是否可以保证延迟的范围是多少?我想成为一名负责任的开发人员,如果延迟不超过(例如,一分钟),则不会使用确切的时间。但我在文档中找不到任何关于延迟的说明。我希望有一个记录延迟功能及其时间规格的资源。
[对于定期警报] 重复间隔或从现在到所需传送时间的时间的 75%,最小延迟/间隔为 10 秒,在此情况下我们将不会延迟警报。
来自 Android 源码报警管理服务对于 API 19(仍然与 API 23 相同)
Requested Batch Window
1 Mins -> 1- 1¾ Mins
10 Mins -> 10-17½ Mins
30 Mins -> 30-52½ Mins
1 Hour -> 1- 1¾ Hours
还值得注意的是,虽然 AlarmManagerService 保护窗口长度以确保超过半天的长度被视为可疑(并重写为 1 小时),但它不提供类似的触发时间健全性检查。
因此,您可以轻松地提供基于 RTC 的值 (System.currentTimeMillis()) 和基于经过的模式 (ELAPSED_REALTIME),并最终得到未来数千年的警报。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)