Я занимаюсь разработкой приложения для устройств Android Lollipop
и KitKat
. Прикладная программа должна вызывать API через каждый заранее заданный интервал (на основе интервала, полученного от сервера). Я делаю это, используя AlarmManager
класс.
Но проблема в том, что он работает до тех пор, пока не остановится.
Скажем, например, если я настрою запуск будильника в 08:00 с интервалом в 30 минут, он будет работать до 11:00 (апрель), а затем будильник не сработает.
Если я установлю длинный интервал (например: 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);
Дайте мне знать, если кто-нибудь сможет выяснить проблему.
Вы видели ошибку, обнаруженную в lollipop в трекере ошибок Google, если это так, дайте мне знать, если есть какое-либо альтернативное решение для этого.