PackageManager.getComponentEnabledSettings()在冷启动之间是否持久?

Bar*_*man 5 android android-manifest android-package-managers

如果我使用下面的代码禁用AndroidManifest.xml中定义的静态BroadcastReceiver,重启后会重新启用它吗?它似乎不是,但文档没有说它是否应该.

final ComponentName compName =
        new ComponentName(context,
        MyBroadcastReceiver.class);

context.getPackageManager().setComponentEnabledSetting(
        compName,
        PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
        PackageManager.DONT_KILL_APP);
Run Code Online (Sandbox Code Playgroud)

提前致谢...

Com*_*are 10

PackageManager.getComponentEnabledSettings()在冷启动之间是否持久?

是.它将在应用程序卸载/重新安装时重置.如果您自己重置它将被重置setComponentEnabledSetting().如果具有超级用户权限的内容重置它(例如,设备可能有一些管理器应用程序用于控制ACTION_BOOT_COMPLETED),它将被重置.而且我不确定应用程序升级会发生什么,因为我没有尝试过这种情况.否则,它应该保持持久.

如果我使用下面的代码禁用AndroidManifest.xml中定义的静态BroadcastReceiver,重启后会重新启用它吗?

没有.