В Android есть много вещей, которые не работают должным образом.Проблема, с которой вы столкнулись, была решена с помощью нового API WorkManager.Из официальной документации:
WorkManager выбирает подходящий способ запуска задачи на основе таких факторов, как уровень API устройства и состояние приложения.Если WorkManager выполняет одну из ваших задач во время работы приложения, WorkManager может запустить вашу задачу в новом потоке процесса вашего приложения.Если ваше приложение не работает, WorkManager выбирает подходящий способ планирования фоновой задачи - в зависимости от уровня API устройства и включенных зависимостей, WorkManager может использовать JobScheduler, Firebase JobDispatcher или AlarmManager.
ИтакWorkManager позаботится о том, что запускать, основываясь на различных факторах, и сделает все намного проще и чище.
Для вашего сценария вы можете использовать повторяющиеся задачи:
https://developer.android.com/topic/libraries/architecture/workmanager#recurring