我有一个Android应用程序,它单独列出已安装和系统应用程序。当用户尝试从我的应用程序重启设备时,它将打开我的应用程序而不是默认的主启动器。
但是当设备重新启动到'safe mode'
时,所有逻辑崩溃.ie,设备以安全模式重新启动到我的应用程序,但它没有列出任何已安装的应用程序并停止其工作。
是否可以让我的应用程序在'Safe mode'
中运行?
有没有办法阻止设备在运行我的应用程序时'safe mode'
使用RECEIVE_BOOT_COMPLETED
广播接收器?
什么是设备管理应用程序?在这种情况下有用吗?
是否可以通过编程方式检测安全模式?
提前致谢
答案 0 :(得分:3)
我知道这个问题很老,但也许这对某些人有帮助。如果您的应用程序是主要用户的设备所有者或配置文件所有者,则可以完全禁用安全模式(它在没有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
请注意,激活设备所有者时必须没有添加帐户(但您不必进行系统重置,只需从设置中删除所有帐户)。设置设备所有者后,您可以再次添加任何帐户。
答案 1 :(得分:1)
如果您创建要以安全模式启动的特定应用程序的快捷方式,则可以在安全模式下执行此操作。但是在创建快捷方式时,您应该处于正常模式。
答案 2 :(得分:1)
执行此操作的唯一方法是将用户应用程序设置为/ system / app
上的系统应用程序但如果您的设备已植根,则可以轻松实现此目的
下载幸运补丁并启用root访问
使用搜索选项查找您希望能够在安全模式下使用的应用,或者只是在滚动菜单中找到它
点击应用程序,点击工具,然后按移至/ system / app
完成此过程后,必须重新启动设备
现在可以在安全模式下访问用户应用程序
答案 3 :(得分:0)
设备管理员应用也不会运行。
要以安全模式运行应用程序,您需要将应用程序复制到需要root访问权限的/ system / app。
因此,只有在root设备上才有可能。
答案 4 :(得分:-3)
退出安全模式,将已安装的应用程序置于主屏幕上。重启进入安全模式,应用程序将显示在主屏幕上,应用程序将以安全模式运行!