如果我使用下面的代码禁用AndroidManifest.xml中定义的静态BroadcastReceiver,重启后会重新启用它吗?它似乎不是,但文档不会说它是否应该。
final ComponentName compName =
new ComponentName(context,
MyBroadcastReceiver.class);
context.getPackageManager().setComponentEnabledSetting(
compName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
提前致谢...
答案 0 :(得分:8)
PackageManager.getComponentEnabledSettings()在冷启动之间是否持久?
是。它将在应用程序卸载/重新安装时重置。如果您使用setComponentEnabledSetting()
自行重置,则会重置该值。如果具有超级用户权限的内容重置它(例如,设备可能有一些用于控制ACTION_BOOT_COMPLETED
的管理器应用程序),它将被重置。而且我不确定应用程序升级会发生什么,因为我没有尝试过这种情况。否则,它应该保持持久。
如果我使用下面的代码禁用AndroidManifest.xml中定义的静态BroadcastReceiver,重启后会重新启用吗?
没有