我已经进行了大量阅读,但我认为还没有一个清晰/完整的答案来回答这个问题。
首先需要澄清一些事情: 这个问题与手机电池节省无关,而更多地涉及精准定时。我是一个Android新手。
现在让我进一步解释一下这个问题。 我有一个Alarm Manager,它将在给定的时间间隔(每2分钟)调用一个Toast(为简单起见)。 manager.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis(), interval, pendingIntent);
以上代码会调用BroadcastReciver上的onReceive()方法。
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//Toast ....bala blah
}}
现在,这个API<19上确切的间隔是准确的,但在API=>19中,setRepeating()不再准确!在其他论坛上,我发现有些人建议使用setExact()。但是没有关于如何在Interval中使用setExact()的示例或清晰的解释(或者我找不到)。据我所知,setExact()是一种开关动作,不像setRepeating(),因此根据其他人的说法,下一个日程需要通过onReceive()来设置(再次,我找不到一个例子;(。无论如何,这就是我的问题所在。如果您对此有任何评论、建议、链接或示例,我真的很感激... 我希望我的问题表述得足够清楚,顺便说一句,如果有其他方法可以在API>19中精确间隔运行任务,请告诉我。非常感谢。