Я зарегистрировал программно созданный BroadcastReceiver как в службе, так и в действии, используя флаг RECEIVER_NOT_EXPORTED, чтобы убедиться, что широковещательная рассылка работает только сама по себе. app.
Но тогда широковещательная рассылка так и не была получена обеими сторонами.
Поэтому я изменил этот флаг с RECEIVER_NOT_EXPORTED на RECEIVER_EXPORTED, и теперь он работает .
Код: Выделить всё
RECEIVER_NOT_EXPORTED
Если вы пометите свой приемник с помощью RECEIVER_NOT_EXPORTED, приемник сможет принимать некоторые системные широковещательные сообщения и широковещательные сообщения из вашего приложения, но не транслируется из приложений с высоким уровнем привилегий.
Сервис и действие, которые я использую, находятся в одном приложении и зарегистрировали правильные фильтры IntentFilters.
По моему мнению, это должно работать независимо от того, какой флаг используется.
Почему это происходит?
Подробнее здесь: https://stackoverflow.com/questions/788 ... orted-flag