我知道这个问题很老,但也许这会对某人有所帮助。如果您的应用程序是主要用户的设备所有者或配置文件所有者,您可以完全禁用安全模式(它可以在没有 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
请注意,激活设备所有者时,您必须没有添加任何帐户(尽管您不必进行系统重置,只需从设置中删除所有帐户)。设置设备所有者后,您可以再次添加任何帐户。