zer*_*obe 2 android repeat alarm alarmmanager
我的应用程序需要非常准确的重复闹钟计时。从 API 19 开始,AlarmManager setRepeating 现在不精确地节省电池(保存树木和所有)。
是否有任何解决方法可以让 API 19 的 setExact 方法在循环上工作?
注意:从 API 19 开始,所有重复警报都不准确。如果您的应用程序需要精确的交付时间,那么它必须使用一次性精确警报,并如上所述重新安排每次时间。targetSdkVersion 早于 API 19 的旧应用程序将继续将其所有警报(包括重复警报)视为准确警报。
如果Google提供了setExactRepeating()方法,也许可以解决你的问题。(这是一个笑话)
目前,您必须自行重新安排闹钟时间。
setExact()第一次使用该方法来安排闹钟,例如:
AlarmManager.setExact(AlarmManager.RTC_WAKEUP,triggerAtMillis,pendingIntent);
重新安排广播接收器中的闹钟onReceiver(),重复时间为一天(AlarmManager.INTERVAL_DAY在以下代码中):
公共无效onReceive(上下文上下文,意图意图){
Context danielContext = MonitorApp.getContext();
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent i = new Intent(context, ReceiverName.class);//put your own ReceiverName
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, i, 0);
alarmManager.setExact(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + AlarmManager.INTERVAL_DAY, pendingIntent);
Run Code Online (Sandbox Code Playgroud)
}
当然,在onReceiver()方法中做一些事情来达到你的目的。
| 归档时间: |
|
| 查看次数: |
4152 次 |
| 最近记录: |