Search code examples
androidbroadcastreceiverboot

Enabling / Disabling BroadcastReceivers


I have a broadcast receiver that starts a service when the device is finished booting. However I don't know how to disable/enable it in code.

Here is my Manifest:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <receiver
        android:name=".BootReceiver"
        android:label="@string/app_name" >
      <intent-filter> 
          <action android:name="android.intent.action.BOOT_COMPLETED">
          <action android:name="android.intent.action.QUICKBOOT_POWERON">
      </intent-filter>
    </receiver>  

BootReceiver.java:

public class BootReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    context.startService(new Intent(context, TouchService.class));
   }    
}

My question is, what do I put here?

if (!rBoot.isChecked()) {
   ????????????
}

Solution

  • What you can do is use SharedPreference and set a flag when your device completes boot and check the flag for enabling and disabling your BroadCastReceiver.