В приложениях бывает необходимым вызывать событие в определенное время или с периодичностью, независимо от работы приложения. Для в Android служит AlarmManager. Но он имеет много подводных камней: 👉 Время срабатывания вызова не является гарантировано точным 👉 Особенности работы в режиме при ограничение системой потребления энергии (Doze, App Standby, Adaptive Battery и пр.) 👉 Сброс всех alarm при перезагрузке устройства и смене времени 👉 При создание alarm в прошлом он сработает мгновенно
В статье описывается решения как правильно восстанавливать alarm при их затирании системой