AlarmManager 的 setInexactRepeating() 方法有多不准确?

10

我知道这个问题之前已经被问过了,在这里,但是给出的答案引用的文档实际上非常模糊。它说不精确的闹钟可能会在指定时间后几乎"整个间隔"发生。对于一个每天都有一个间隔的闹钟来说,这似乎太过分了。

文档确实在这里(在"RTC examples"下)说你可以为每天的闹钟使用不精确的重复,并且举了一个不精确的闹钟设置为"大约下午2点"的例子。没人会认为"大约下午2点"可能意味着第二天下午1点,所以至少每天的闹钟不太可能比指定时间晚"几乎整个间隔"。

是否存在关于每天间隔内不精确闹钟可能晚多少的明确信息?谢谢。

(我知道API 19有"setWindow",但我希望我的应用程序也能在旧API上运行)。


它说,在指定时间之后,可能会出现不精确的警报,几乎等于一个“完整的间隔”。你已经得到了你的答案。 - Phantômaxx
1
这与文档中警报在“大约下午2点”响起的示例相矛盾。“大约下午2点”不可能意味着23小时后! - joe_deniable
通常情况下,它不会这样做。它会尝试在合理的时间范围内分组警报。如果不行,它将在系统找到舒适的时间(CPU / GC / ...其他必须管理的内部事务)时触发 - “大约在指定的时间”。毕竟,它应该与您设置的时间相当接近。 - Phantômaxx
1个回答

7

我在手机上进行了5次连续的闹钟测试,平均延迟为11.8分钟。这是在重复间隔设置为INTERVAL_DAY时的结果。


1
同样如此,平均11.5分钟。 - Federico Alvarez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接