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);