大家都知道广播中有两种形式,一种是静态在manifast.xml中注册的,一种是在代码中动态注册,这里就不说怎么去注册广播了,我们知道如果是动态注册的广播,可以很方便的用unregister来注销掉广播,那么如果是静态的广播,我们怎么来注销它呢?
其实很简单,主要是用到了PackageManager中的方法.
比如我们在manifest中注册了广播,然后想注销掉该广播
核心代码:
getPackageManager().setComponentEnabledSetting(newComponentName("cn.droidlover.xdroidmvp.mvp.XActivity","mStaBroadcastReceiver "),PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,PackageManager.DONT_KILL_APP);
ComponentEnabledSetting中有这样几个方法,newComponentName:当前完整包类名.第二个参数:自定义的Receiver类名,COMPONENT_ENABLED_STATE_DEFAULT:如何转换,PackageManager.DONT_KILL_APP:不杀死app.
贴下manifest.xml中的