AlarmManager все чаще откладывает точные повторяющиеся сигналы тревогиAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 AlarmManager все чаще откладывает точные повторяющиеся сигналы тревоги

Сообщение Anonymous »

Я разрабатываю приложение для внутренних нужд, которое должно запускать некоторый код до 100 раз каждые ~5 минут. Поэтому я использую AlarmManager.
Я объявляю разрешения в манифесте: А вот функция, с помощью которой я поставил будильник. На основе некоторой логики RequestsReceiver либо запланирует, либо нет следующий сигнал тревоги для идентификатора запроса:

Код: Выделить всё

fun scheduleRequest(requestId: Long, timestamp: Long) {

val intent = Intent(app, RequestsReceiver::class.java).apply {
putExtra(EXTRA_REQUEST_ID, requestId)
}

alarmManager.setExactAndAllowWhileIdle(
AlarmManager.RTC_WAKEUP,
timestamp,
PendingIntent.getBroadcast(
app,
requestId.hashCode(),
intent,
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
)
)
}
На моем Samsung Galaxy s8 (api 28) он проработал как положено около 9 часов, после чего начал ставить будильники каждые 10 минут вместо 6, потом стало 1,5 часа и так далее . Кажется, на Xiaomi Android 14 он откладывает следующий будильник на 1 час, а затем может запустить некоторые из них по назначению.
Я нахожу только информацию о том, что будильники являются неточными и не откладываются намеренно, есть ли какие-либо объяснения и способ обходной путь?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ing-alarms
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»