Android 启用/禁用广播接收机

Android 启用/禁用广播接收机,android,broadcastreceiver,boot,Android,Broadcastreceiver,Boot,我有一个广播接收器,当设备完成引导时启动服务。但是,我不知道如何在代码中禁用/启用它 这是我的舱单: <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <receiver android:name=".BootReceiver" android:label="@string/app_name" > <inten

我有一个广播接收器,当设备完成引导时启动服务。但是,我不知道如何在代码中禁用/启用它

这是我的舱单:

<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>  
我的问题是,我在这里放什么

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

您可以使用
SharedReference
并在设备完成引导时设置
标志
,然后检查标志以启用和禁用您的
广播接收器

boolean enabled=prefs.getBoolean(key, false);
int flag=(enabled ?
            PackageManager.COMPONENT_ENABLED_STATE_ENABLED :
            PackageManager.COMPONENT_ENABLED_STATE_DISABLED);
ComponentName component=new ComponentName(EditPreferences.this, OnBootReceiver.class);

getPackageManager()
    .setComponentEnabledSetting(component, flag,
                                PackageManager.DONT_KILL_APP);
boolean enabled=prefs.getBoolean(key, false);
int flag=(enabled ?
            PackageManager.COMPONENT_ENABLED_STATE_ENABLED :
            PackageManager.COMPONENT_ENABLED_STATE_DISABLED);
ComponentName component=new ComponentName(EditPreferences.this, OnBootReceiver.class);

getPackageManager()
    .setComponentEnabledSetting(component, flag,
                                PackageManager.DONT_KILL_APP);