如何删除在 Android 上启用了活动设备管理员的应用程序?

Posted

技术标签:

【中文标题】如何删除在 Android 上启用了活动设备管理员的应用程序?【英文标题】:How to remove an app with active device admin enabled on Android? 【发布时间】:2011-07-20 05:51:16 【问题描述】:

我编写了一个启用了设备管理员 (DevicePolicyManager) 的应用程序并安装了它。 但是当我想卸载它时,它返回失败并显示此消息

WARN/PackageManager(69):不删除包 com.mypackage.test:有活动的设备管理员

如何卸载它,或以编程方式卸载它? 谢谢。

【问题讨论】:

【参考方案1】:

转到设置->位置和安全->设备管理员并取消选择要卸载的管理员。

现在卸载应用程序。如果仍然提示您需要在卸载前停用应用程序,您可能需要在卸载前强制停止应用程序。

【讨论】:

对我来说有点不同,至少在华为上是这样。你应该去设置->安全->设备管理员,然后你应该停用你的应用程序。 APK(Google Play 服务)未出现在此设备管理员列表中。【参考方案2】:

您还可以创建一个新的 DevicePolicyManager,然后从应用中按钮的 onClickListener 中使用 removeAdmin(adminReceiver)

//set the onClickListener here

   ComponentName devAdminReceiver = new ComponentName(context, deviceAdminReceiver.class);
   DevicePolicyManager dpm = (DevicePolicyManager)context.getSystemService(Context.DEVICE_POLICY_SERVICE);
   dpm.removeActiveAdmin(devAdminReceiver);

然后你就可以卸载了

【讨论】:

如何在执行上述删除设备管理员之前询问我的应用程序密码??有什么办法吗?? 没有合法的方法可以做到这一点。您可以在onDisableRequested 中包含一些代码来使用管理类锁定设备。然后,用户需要使用您选择的密码(可能是应用密码)解锁手机。然后要真正禁用管理员,用户需要导航到您的应用程序并单击其中的一个按钮。当然,如果您要阻止用户禁用管理员,则需要非常让用户清楚,如果他们尝试禁用,他们的设备将被锁定。 Jakar:注意onDisableRequested会在用户点击系统设置中的“禁用”后立即调用。此时,AdminReceiver 代码可以做一些事情——锁定设备、擦除设备等,但无法向用户询问更多问题、显示任何警告或询问用户是否确定。无论您从onDisableRequested 显示的任何对话框或活动,都会显示,但用户可以简单地使用“后退”按钮将其关闭,然后您的管理员将被禁用,您的应用将无法阻止它。 以上内容适用于android 3.1及以下版本。看来Android 3.2 已经解决了这个问题!另见***.com/questions/9298364/…【参考方案3】:

三星上,转到“设置”->“锁定屏幕和安全”->“其他安全设置”->“电话管理员”并取消选择您要卸载的管理员。

“安全”字样隐藏在我的显示器上,所以我不应该点击“锁定屏幕”。

【讨论】:

停用选项对我来说是无效的。下一步该做什么?【参考方案4】:

Redmi/小米用户

转到"Settings" -> "Password & security" -> "Privacy" -> "Special app access" -> "Device admin apps"并选择您要卸载的帐户。

或者简单

进入设置 -> 然后搜索设备管理应用程序 -> 点击并选择您要卸载的帐户。

【讨论】:

【参考方案5】:

输入保险库密码,保险库右上角选项图标就在那里。按下它。在那个 ->settings->vault admin rites 中取消选择。完成工作。你现在可以卸载应用了。

【讨论】:

【参考方案6】:

对于 Redmi 用户,

设置 -> 密码和安全 -> 隐私 -> 特殊应用访问 -> 设备管理应用

点击停用应用程序

【讨论】:

【参考方案7】:

如果你知道包名,用 abd you can remove the device owner

adb shell dpm remove-active-admin packagename/.yourAdminReceiver

然后

adb uninstall packagename

【讨论】:

以上是关于如何删除在 Android 上启用了活动设备管理员的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

无法从我的服务类(Android Lollipop)启动设备管理员活动

如何在 Android 上检测飞行模式?

如何从 android SERVICE 禁用/启用屏幕旋转?

如何在 Android 设备上的 Chrome 上启用调试?

在 Android 中删除父活动链接

如何在android studio中启用设备框架?