Monday, April 30, 2012

Dynamically Enable/Disable Broadcast Receiver

Enable Broadcast Receiver:
...
public static void enable(Context context){
  MyLog.d(TAG, "Enabled Broadcast Receiver");
  ComponentName compName = new ComponentName(context, BroadcastReceive.class);
  context.getPackageManager().setComponentEnabledSetting(compName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
 }
Disable Broadcast Receiver:
...
public static void disable(Context context){
  MyLog.d(TAG, "Disabled Broadcast Receiver");
  ComponentName compName = new ComponentName(context, BroadcastReceive.class);
  context.getPackageManager().setComponentEnabledSetting(compName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);  
 }