Android – разрешено повторение будильника во время простоя

Мне нужно установить повторяющийся будильник каждые X часов, который будет срабатывать даже в спящем режиме. Однако в AlarmManager для Android 23 доступны только API-интерфейсы setExactAndAllowWhileIdle и setAndAllowWhileIdle, которые не предназначены для повторения сигналов тревоги.

Мне интересно, должен ли я переназначать будильник каждый раз, когда он срабатывает? или есть лучшее решение?


comment
Можно ли это сделать в Oreo и более поздних версиях. setExactAndAllowWhileIdle и установить повторяющийся будильник каждые X интервалов, который будет срабатывать даже в спящем режиме. У кого-нибудь есть образец, как я могу это сделать.   -  person Valentin Gjorgoski    schedule 28.08.2019


Ответы (1)


Мне интересно, должен ли я переназначать будильник каждый раз, когда он срабатывает?

Это именно то, что вы должны делать.

Идея doze состоит в том, чтобы попытаться предотвратить разрядку аккумулятора. Повторяющиеся будильники разряжают батарею, поэтому встроенный способ повторения будильников путем передачи дополнительного параметра был удален в Android 6. Это все еще можно сделать, но, как вам было интересно, это требует, чтобы вы вручную переназначали будильник.

Обязательно переназначьте будильник сразу же после его срабатывания, прежде чем делать что-либо еще, что может пойти не так и предотвратить переназначение будильника.

person Tim    schedule 31.08.2016
comment
Какой метод вызывается для настройки? Вы должны позвонить setAndAllowWhileIdle() или как-то еще? - person toobsco42; 30.03.2017
comment
Обходит ли это ограничения фонового выполнения в Oreo? Я в этом сомневаюсь. Я использую это, и все еще Android говорит, что фоновый запуск не разрешен: сервис - person NinjaCoder; 05.11.2017
comment
@NinjaCoder Я не понимаю, как это связано с планированием будильников. - person Tim; 06.11.2017
comment
Виноват. Я перепутал этот ответ с планированием сигналов тревоги с обслуживанием в PendingIntent - person NinjaCoder; 06.11.2017
comment
Как я могу переназначить будильник в спящем режиме? Могу ли я получить справочную ссылку - person kavie; 30.04.2018
comment
Большое спасибо, я искал что-то совершенно другое и просто изменил это .. - person Rafaela Lourenço; 25.01.2019
comment
Можно ли это сделать в Oreo и более поздних версиях. setExactAndAllowWhileIdle и установить повторяющийся будильник каждые X интервалов, который будет срабатывать даже в спящем режиме. У кого-нибудь есть образец, как я могу это сделать. - person Valentin Gjorgoski; 28.08.2019