在android开发中,AlarmManager可能会出现这种情况,在一些手机上,会准时闹钟,但是在一些手机上,却不会准时闹钟。经过测试(仅测试了部分机型(google Nexus7平板),可能不适用于其他机型,在此不做详细的讨论),发现在以下情况下,可能会出现闹钟不准时:1、android系统为4.4(更高系统不清楚,没有测试过);2、使用重复的这个方法(setRepeating)。各种百度、google无结果后,在android官网(如何上官网,各有各的办法,这里讨论的是android技术,至于找资料,相信难不倒大家的)上找,看看官方文档是否有相应的描述。
在官方文档中找到这样的一段描述,应该能解决上述问题。
这段文字的主要意思(E文不好的人伤不起啊,译的不准确,希望大家理解一下,别拍我哦)是:在api19中,重复闹钟不准确,可能会提前或者推迟才闹铃。在Note中,api19下,所有的重复闹钟都是不准确的,如果需要在app中准确闹钟,就必须使用一次性的闹钟,然后重新再设置,以实现重复闹钟。所以,这段文字应该就是我们解决问题的关键了。个人理解:在api19下,尽量不用setRepeating方法,而是使用set方法,如果需要设置重复,则应该重复使用set方法(感觉说的挺别扭的,如果大家有更好的方法,欢迎交流)。
第一次写技术博客,可能会存在问题,希望大家能理解。最后,欢迎各位技术交流!谢谢大家!