android - Тревога перестает срабатывать через некоторое время - PullRequest
0 голосов
/ 06 августа 2020

У меня есть будильник, который срабатывает каждый час и выполняет код в определенных условиях c Он работает плавно, но когда я оставляю свое приложение закрытым (инициализация будильника выполняется при запуске приложения), он останавливается через некоторое время, это журналы :

8/2/2020 6:27 AM Initializing Alarm, next alarm will fire at 8/2/2020 3:27 AM
8/2/2020 6:27 AM Application starting.
8/2/2020 6:28 AM Application stopped.
8/2/2020 6:28 AM Reports alarm received.
8/2/2020 7:28 AM Reports alarm received.
8/2/2020 8:28 AM Reports alarm received.
8/2/2020 9:28 AM Reports alarm received.
8/2/2020 9:28 AM Reports alarm finished.
8/2/2020 10:28 AM Reports alarm received.
8/2/2020 10:28 AM Reports alarm finished.
8/2/2020 11:28 AM Reports alarm received.
8/2/2020 11:28 AM Reports alarm finished.
8/2/2020 12:30 PM Reports alarm received.
8/2/2020 12:30 PM Reports alarm finished.
8/2/2020 1:30 PM Reports alarm received.
8/2/2020 1:30 PM Reports alarm finished.
8/2/2020 2:30 PM Reports alarm received.
8/2/2020 2:30 PM Reports alarm finished.
8/3/2020 8:13 AM Initializing Alarm, next alarm will fire at 8/3/2020 5:13 AM

Как вы видите, с 14:30 до 8:13 следующего дня никаких сигналов тревоги не было

Это инициализация:

alarmMgr.SetInexactRepeating(AlarmType.RtcWakeup, calendar.TimeInMillis, 1000 * 60 * 60, alarmIntent);

Я получил разрешение WAKE_LOCK.

Заранее спасибо

1 Ответ

0 голосов
/ 07 августа 2020

AlarmManager отлично работает, когда приложение работает на переднем плане или в фоновом режиме.

Но когда приложение завершено / принудительно остановлено / убито, Alarm Manager отменяется.

Alarm будет go снова выключено, только приложение снова запускается пользователем.

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

Вот образец , к которому вы можете обратиться.

...