通常我们学到的动态注册和注销广播都是用了registerReceiver和unregisterReceiver
但是对于在Manifest中注册的广播,unregisterReceiver却不起作用
下面就介绍一个方法
http://developer.android.com/reference/android/content/pm/PackageManager.html
使用PackageManager中的setComponentEnabledSetting(ComponentName componentName, int newState, int flags)方法
用法如下:
PackageManager pm = getPackageManager();
ComponentName compName =
new ComponentName(getApplicationContext(),
YourReceiver.class);
pm.setComponentEnabledSetting(
compName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
参考文章:
http://www.grokkingandroid.com/enabling-and-disabling-broadcastreceivers/
http://stackoverflow.com/questions/5624470/enable-and-disable-a-broadcast-receiver