如果我使用下面的代码禁用 AndroidManifest.xml 中定义的静态 BroadcastReceiver,它会在重新启动后重新启用吗?似乎不是,但文档没有说明是否应该。
final ComponentName compName =
new ComponentName(context,
MyBroadcastReceiver.class);
context.getPackageManager().setComponentEnabledSetting(
compName,
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
提前致谢...
PackageManager.getComponentEnabledSettings() 在冷启动之间是否持续存在?
是的。它将在应用程序卸载/重新安装时重置。如果您自己重置它,它将被重置setComponentEnabledSetting()
。如果具有超级用户权限的东西重置它,它将被重置(例如,设备可能有一些管理器应用程序用于控制ACTION_BOOT_COMPLETED
)。我不确定应用程序升级时会发生什么,因为我还没有尝试过这种情况。否则,就应该坚持下去。
如果我使用下面的代码禁用 AndroidManifest.xml 中定义的静态 BroadcastReceiver,它会在重新启动后重新启用吗?
No.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)