AlarmManager的setInexactRepeating()有多不精确?

b_y*_*yng 15 android

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

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

这是我目前的代码:

am.setInexactRepeating(AlarmManager.RTC_WAKEUP, startTime, 
                       DAY_IN_MILLISECONDS, start);
Run Code Online (Sandbox Code Playgroud)

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

rmm*_*mmh 13

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

文档:

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

  • 对于超过一小时的时间,它应该可以忽略不计. (3认同)