Dev*_*man 20 android device handle safe-mode
我有一个Android应用程序,它单独列出已安装和系统应用程序.当用户尝试从我的应用程序重启设备时,它将打开我的应用程序而不是默认的主启动器.
但是当设备重新启动到'safe mode'所有逻辑崩溃时,设备会以安全模式重新启动到我的应用程序,但它不会列出任何已安装的应用程序并停止其工作.
是否有可能使我的应用程序'Safe mode'也在工作?
有没有办法阻止设备'safe mode'在运行我的应用程序时使用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);
Run Code Online (Sandbox Code Playgroud)
编辑:您可以简单地通过 ADB 设置设备所有者或配置文件所有者:https://developer.android.com/studio/command-line/adb#dpm
adb shell dpm set-device-owner com.example.deviceownerapp/.DeviceAdminReceiver
Run Code Online (Sandbox Code Playgroud)
请注意,激活设备所有者时您不得添加任何帐户(但您不必执行系统重置,只需从设置中删除所有帐户即可)。设置设备所有者后,您可以再次添加任何帐户。
设备管理应用程序也不会运行。
要在安全模式下运行应用程序,您需要将应用程序复制到 /system/app,为此您需要 root 访问权限。
所以只有在 root 设备上才有可能。
| 归档时间: |
|
| 查看次数: |
36811 次 |
| 最近记录: |