我使用Alarm Manager
为接下来的5分钟设置闹钟,然后触发broadcast receiver
。
现在,当receiver
被触发时,我会在接下来的5分钟内设置另一个警报。
这又触发了receiver
,并设置了下一个警报。
此过程继续,直到我通过按钮手动停止它。
我需要set/cancel
Alarm Manager
Alarm
的这个过程继续工作一天,每次都有5分钟的差距。
这在我的Moto G2设备中运行良好,但在Karbonn Android One设备中,它有很多空白,其中 AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Calendar now = Calendar.getInstance();
int uniqueRequestCode = (int)now.getTimeInMillis();
alarmIntent = new Intent(this, AlarmBroadcastReceiver.class);
alarmPendingIntent = PendingIntent.getBroadcast(this, uniqueRequestCode, alarmIntent, PendingIntent.FLAG_CANCEL_CURRENT);
manager.set(AlarmManager.RTC_WAKEUP, now.getTimeInMillis(),
alarmPendingIntent);
没有触发数小时。
看起来像设备特定的问题,但有什么办法,这可以修复吗?
我使用以下代码设置闹钟:
setRepeating()
我也在这里尝试使用AlarmManager
pendingIntent
方法,但同样,警报触发时间也存在巨大差距。因此尝试了这一个,但没有帮助。
这似乎在Android One设备的前1小时工作正常,然后开始导致问题。
* P.S
在设置新闹钟之前,我也取消闹钟。对于与警报相关联的每个sender
,都有唯一的请求代码。