动态启用/禁用BroadcastReceiver

时间:2014-04-04 04:39:19

标签: android dynamic static broadcastreceiver

我的应用程序的清单文件中有一个静态注册的BroadcastReceiver,带有属性 "enabled""exported"设置为true,并且过滤android.intent.PHONE_STATE意图的意图过滤器。但是,在某些情况下,我需要动态禁用/取消注册此BoradcastReceiver,然后再次注册/启用它。我知道如何使用PackageManager并为"ENABLED_STATE_DISABLED"组件设置"ENABLED_STATE_ENABLED"BroadcastReceiver,但是没有其他方法可以做到这一点?如果我动态注册BroadcastReceiver,如果我的应用程序没有运行或重启后它会工作吗?因为当它静态注册时,它在这种情况下工作正常。

1 个答案:

答案 0 :(得分:0)

是的,您可以动态注册它。您必须在intent-filter中使用manifest,并且在intent-filer中,您必须声明此广播接收器将调用的action。有关详细信息,请访问以下链接http://developer.android.com/guide/topics/manifest/intent-filter-element.html和{ {3}}