是否可以使我的应用程序在安全模式下工作?

时间:2013-05-24 06:50:48

标签: android device handle safe-mode

我有一个Android应用程序,它单独列出已安装和系统应用程序。当用户尝试从我的应用程序重启设备时,它将打开我的应用程序而不是默认的主启动器。

但是当设备重新启动到'safe mode'时,所有逻辑崩溃.ie,设备以安全模式重新启动到我的应用程序,但它没有列出任何已安装的应用程序并停止其工作。

  1. 是否可以让我的应用程序在'Safe mode'中运行?

  2. 有没有办法阻止设备在运行我的应用程序时'safe mode'使用RECEIVE_BOOT_COMPLETED广播接收器?

  3. 什么是设备管理应用程序?在这种情况下有用吗?

  4. 是否可以通过编程方式检测安全模式?

  5. 提前致谢

5 个答案:

答案 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

上的系统应用程序

但如果您的设备已植根,则可以轻松实现此目的

  1. 下载幸运补丁并启用root访问

  2. 使用搜索选项查找您希望能够在安全模式下使用的应用,或者只是在滚动菜单中找到它

  3. 点击应用程序,点击工具,然后按移至/ system / app

  4. 完成此过程后,必须重新启动设备

  5. 现在可以在安全模式下访问用户应用程序

答案 3 :(得分:0)

设备管理员应用也不会运行。

要以安全模式运行应用程序,您需要将应用程序复制到需要root访问权限的/ system / app。

因此,只有在root设备上才有可能。

答案 4 :(得分:-3)

退出安全模式,将已安装的应用程序置于主屏幕上。重启进入安全模式,应用程序将显示在主屏幕上,应用程序将以安全模式运行!