Установите BroadcastReceiver, чтобы быть неактивным - PullRequest
2 голосов
/ 22 июня 2010

В моем приложении Android настроен BroadcastReceiver, который получает события получения SMS.Это работает нормально, но я хочу иметь возможность включать и выключать прием SMS, включая и выключая BroadcastReceiver.Потому что если у меня есть простой логический внутри метода onReceive, даже если получение SMS отключено, мое приложение запустится.

Возможно ли это сделать?

Ура!

1 Ответ

7 голосов
/ 22 июня 2010

Вы можете использовать PackageManager#setComponentEnabledSetting, чтобы включить / отключить компонент в файле манифеста. Вы создаете ComponentName с вашим именем пакета и именем класса вашего широковещательного приемника. Затем используйте флаг COMPONENT_ENABLED_STATE_DISABLED, чтобы отключить его. И в зависимости от того, хотите ли вы, чтобы весь объект Application умер или не использовался, используйте флаг DONT_KILL_APP или 0. Хотя документация предупреждает о том, чтобы не убить Application.

...