mPackageManager.setComponentEnabledSetting(ComponentName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
COMPONENT_ENABLED_STATE_DISABLED = 2;
DONT_KILL_APP = 0x00000001;
setEnabledSetting(componentName.getPackageName(),
componentName.getClassName(), newState, flags, userId, null);
pkgSetting.disableComponentLPw(className, userId)
PackageUserState:enabledComponents.remove(componentClassName) disabledComponents.add(componentClassName);
自启动
因为我们不是要把应用禁止掉,而是要把接收开机启动的Intent的receiver禁止掉,所以我们需要精确到class
首先我们来看看接收BOOT_COMPLETED的receiver在manifest中如何注册的
<receiver android:name=".BootReceiver" android:enabled="true">
这里有一点是需要特别注意的: android:enabled="true"
enabled这个属性,大多数情况下我们是不显式写在这里的,