Точно не помню какие там нюансы с BroadcastReceiver, давно этот вопрос изучал. По памяти - там его можно заставить работать, но только по моему если устройство активно и экран включен. Для этого надо в манифесте написать
<uses-permission android:name="android.permission.QUICKBOOT_POWERON" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
и соответствующие системные разрешения запросить и получить.
Иной способ это использовать какой то шедулер для того, чтобы периодически запускать сервис и проверять нужное состояние: WorkManager, JobScheduler или AlarmManager