21

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

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

  1. 是否有可能使我的应用程序'Safe mode'也可以工作?

  2. 有什么方法可以防止设备'safe mode'在运行我的应用程序时像使用RECEIVE_BOOT_COMPLETED广播接收器一样?

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

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

提前致谢

4

5 回答 5

5

我知道这个问题很老,但也许这会对某人有所帮助。如果您的应用程序是主要用户的设备所有者或配置文件所有者,您可以完全禁用安全模式(它可以在没有 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

请注意,激活设备所有者时,您必须没有添加任何帐户(尽管您不必进行系统重置,只需从设置中删除所有帐户)。设置设备所有者后,您可以再次添加任何帐户。

于 2017-07-20T19:23:37.453 回答
1

这样做的唯一方法是使用户应用程序成为 /system/app 上的系统应用程序

但是,如果您的设备已植根,则有一种简单的方法可以做到这一点

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

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

  3. 单击应用程序,单击工具,然后按移动到 /system/app

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

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

于 2018-05-31T20:06:18.823 回答
1

如果您创建要在安全模式下启动的特定应用程序的快捷方式,则可以在安全模式下执行此操作。但是创建快捷方式时应该处于正常模式。

于 2016-08-17T21:34:08.077 回答
0

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

要在安全模式下运行您的应用程序,您需要将您的应用程序复制到 /system/app,您需要对其进行 root 访问。

所以只有在有根设备上才有可能。

于 2014-12-16T14:11:17.810 回答
-3

退出安全模式,将已安装的应用程序放在主屏幕上。重新启动进入安全模式,应用程序将在主屏幕上,应用程序将在安全模式下运行!

于 2015-06-23T22:57:27.093 回答