Ограничения на броадкасты начали вводить в Android 7, но в 8й версии они стали более строгими и общими. Ограничения касаются приложений с
targetSdkVersion = 26
.* Неявные (implicit) броадкасты, зарегистрированные в андроид манифесте, больше не работают (кроме некоторых исключений). Неявный броадкаст – это тот, который предназначается не для конкретного приложения. Например ACTION_LOCALE_CHANGED – неявный броадкаст, т.к. отправляется при изменении языка в системных настройках и принимается всеми приложениями с интент фильтром, содержащим этот action.
* Ограничения не касаются Явных (explicit) броадкастов, даже если они зарегистрированы в андроид манифесте. Пример явного броадкаста: ACTION_MY_PACKAGE_REPLACED отправляется только тому приложению, которое было обновлено.
* Разрешается динамическая регистрация неявных броадкастов через context.registerReceiver(). Такая регистрация действует только пока запущен процесс приложения.
* Ограничения не действуют на неявные броадкасты, которые требуют signature permission.
Начиная с Android 8, вместо прослушивания неявных броадкастов предлагается использовать JobScheduler.