大家都知道广播中有两种形式,一种是静态在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中的

ca749df787f4

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐