【发布时间】:2019-05-30 03:34:36
【问题描述】:
我正在为 Android Lollipop 和 KitKat 设备开发应用程序。应用程序需要在每个预定义的时间间隔(基于从服务器接收到的时间间隔)调用 API。我正在使用AlarmManager 类来执行此操作。
但问题是它工作到一段时间然后停止。
例如,如果我设置在上午 08:00 以 30 分钟的间隔启动闹钟,它会一直工作到上午 11:00(aprx),然后闹钟不会触发。
如果我设置了一个较长的时间间隔(例如:从当前时间开始 8 小时,仍然会发生同样的问题,甚至一次都不会重新启动)
代码
public void setRepeatedAlarm(Context context, int requestCode, long next, long interval, Intent intent) {
PendingIntent sender = PendingIntent.getBroadcast(context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, next, interval, sender);
}
函数调用
AlarmHandleManager.get().setRepeatedAlarm(this, Constants.SchedulerRequestCodes.UPLOAD_LOG, date.getTime(), AlarmManager.INTERVAL_DAY, intent);
如果有人能解决这个问题,请告诉我。 在 Google 错误跟踪器中看到棒棒糖报告的错误,如果是这种情况,请告诉我是否有任何替代解决方案。
【问题讨论】:
标签: android alarmmanager android-5.0-lollipop android-4.4-kitkat repeatingalarm