AlarmManager的setInexactRepeating()有多不精确?

时间:2011-08-20 02:43:50

标签: android

所以这就是交易......我必须在上课时让用户的手机静音。因此,我需要在每个班级的特定时间每天发出警报。

所以我认为每个班级都有自己的警报(间隔设定为一天)。如果课程在今天开课,电话会被静音。

这是我目前的代码:

am.setInexactRepeating(AlarmManager.RTC_WAKEUP, startTime, 
                       DAY_IN_MILLISECONDS, start);

setInexactRepeating()是否足够准确,可在一天内的几分钟内使手机静音?

1 个答案:

答案 0 :(得分:13)

可能不是,特别是如果这是一整天的间隔。

来自documentation

  

您的闹钟的第一次触发不会在请求的时间之前,但在此之后几乎整整一段时间内可能不会发生。此外,虽然重复警报的整个周期将按照要求进行,但警报的任何两次连续发射之间的时间可能会有所不同。如果您的应用程序需要非常低的抖动,请改用setRepeating(int,long,long,PendingIntent)。