这很奇怪,方法setInexactRepeating大约在给定时间而不是精确时间触发的原因是什么。
我需要在特定时间每天触发警报,我已经说过了
example.com -> [elb public dns]:8080
example2.com -> [elb public dns]: 9000
我已将时间设定在日历上午8:30,当我将设备日转移到第二天时,即使在我将设备时间转移到上午8:30之前,警报也会立即触发。
这里发生了什么,为什么我无法使用此api进行精确触发,如果您有任何经验,可以分享您的经验。谢谢!
答案 0 :(得分:1)
根据文件(here),有文字:
如上所述,选择警报类型通常是第一步 制造警报。另一个区别是你需要多精确 报警。对于大多数应用程序,setInexactRepeating()是正确的选择。 当您使用此方法时,Android会同步多个不精确的内容 重复警报并同时触发它们。这减少了 耗尽电池。
对于具有严格时间要求的罕见应用程序 - 例如, 警报需要在上午8:30精确射击,每小时射击一次 之后 - 使用setRepeating()。但是你应该避免使用精确的警报 如果可能的话。
使用setInexactRepeating(),您无法指定自定义间隔 你可以使用setRepeating()。你必须使用其中一个间隔 常量,例如INTERVAL_FIFTEEN_MINUTES,INTERVAL_DAY等。
我希望它可以帮助你。在我给你的前一个链接中也有一个小例子。