首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Android DPM中删除set-device-owner?

如何在Android DPM中删除set-device-owner?
EN

Stack Overflow用户
提问于 2018-03-06 18:12:14
回答 6查看 32.2K关注 0票数 13

我已经成为了一个使用ADB的应用程序设备所有者,通过以下链接:How to make my app a device owner?

但现在,我不能还原它。

在设备管理选项卡中,此选项处于禁用状态。无法更改此应用程序的值。

EN

回答 6

Stack Overflow用户

发布于 2018-11-14 06:33:56

通过在AndroidManifest.xml中指定android:testOnly="true"属性,可以使用以下命令卸载应用程序或删除管理员:

adb shell dpm remove-active-admin package.name/MyDeviceAdminReceiver

但在生产设备上,不应包含此属性,并且应用程序将是非测试管理员。从这一点,它将不可能删除它或卸载的应用程序没有擦除/出厂重置。

值得庆幸的是,当应用程序使用相同的密钥签名,并且版本代码等于或更高时,可以完成更新:

adb install -r path/to/kiosk.apk

如果你想在编程上摆脱生产设备上的管理和应用程序,你必须重新安装它,并进行一些新的更改。首先,如果您在device_admin_receiver.xml中拥有<wipe-data \>权限,则可以通过编程方式擦除数据:

devicePolicyManager.wipeData(DevicePolicyManager.WIPE_RESET_PROTECTION_DATA)

如果您没有此权限,则新版本不应启动LockTask,并使用以下命令从默认主页应用程序列表中删除其软件包:

devicePolicyManager.clearPackagePersistentPreferredActivities(adminComponentName, packageName)

然后,您可以手动转到设置以执行擦除/出厂重置。

https://snow.dog/blog/kiosk-mode-android上找到的信息

票数 27
EN

Stack Overflow用户

发布于 2018-05-14 15:22:06

您可以通过编程方式取消设置它。您需要在设备所有者应用程序中调用此函数

代码语言:javascript
运行
复制
DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);

dpm.clearDeviceOwnerApp(context.getPackageName());

有关更多信息,请访问see

更新:此方法在级别26中已弃用

票数 15
EN

Stack Overflow用户

发布于 2018-05-22 14:30:55

您可以使用以下ADB shell命令删除设备所有者

代码语言:javascript
运行
复制
adb shell dpm remove-active-admin ComponentInfo{}

禁用活动管理员,管理员必须在其清单中的应用程序中声明android:testOnly。这还将删除设备和配置文件所有者

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49128293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档