我有一个Android应用程序,它分别列出了已安装的应用程序和系统应用程序。当用户尝试从我的应用程序重新启动设备时,它将打开我的应用程序,而不是默认的家庭启动器。
但是,当设备重新启动到'safe mode'
时,所有逻辑崩溃。即,设备以安全模式重新启动到我的应用程序,但未列出任何已安装的应用程序并停止工作。
'Safe mode'
工作? 'safe mode'
broadcastreceiver那样进入RECEIVE_BOOT_COMPLETED
? 提前致谢
最佳答案
我知道这个问题很古老,但这也许会对某人有所帮助。如果您的应用程序是主要用户的“设备所有者”或“配置文件所有者”,则可以完全禁用安全模式(无需root用户即可运行):
DevicePolicyManager manager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName admin = new ComponentName(getApplicationContext(), DeviceAdminReceiver.class);
// To disable safe boot
manager.addUserRestriction(admin, UserManager.DISALLOW_SAFE_BOOT);
// To enable safe boot again
// manager.clearUserRestriction(admin, UserManager.DISALLOW_SAFE_BOOT);
编辑:您可以仅通过ADB设置设备所有者或配置文件所有者:https://developer.android.com/studio/command-line/adb#dpm
adb shell dpm set-device-owner com.example.deviceownerapp/.DeviceAdminReceiver
请注意,在激活设备所有者时,您必须没有添加帐户(尽管您不必进行系统重置,只需从设置中删除所有帐户)。设置设备所有者后,您可以再次添加任何帐户。