我的应用程序的清单文件中有一个静态注册的BroadcastReceiver,带有属性
"enabled"
和"exported"
设置为true,并且过滤android.intent.PHONE_STATE
意图的意图过滤器。但是,在某些情况下,我需要动态禁用/取消注册此BoradcastReceiver
,然后再次注册/启用它。我知道如何使用PackageManager
并为"ENABLED_STATE_DISABLED"
组件设置"ENABLED_STATE_ENABLED"
和BroadcastReceiver
,但是没有其他方法可以做到这一点?如果我动态注册BroadcastReceiver
,如果我的应用程序没有运行或重启后它会工作吗?因为当它静态注册时,它在这种情况下工作正常。
答案 0 :(得分:0)
是的,您可以动态注册它。您必须在intent-filter
中使用manifest
,并且在intent-filer中,您必须声明此广播接收器将调用的action
。有关详细信息,请访问以下链接http://developer.android.com/guide/topics/manifest/intent-filter-element.html和{ {3}}