繁体   English   中英

以编程方式将包设置为设备所有者

[英]Programmatically set package as device owner

我知道命令"adb shell dpm set-device-owner pacakgename"

我想知道是否有一种方法可以在一个应用程序启动后以编程方式询问和设置设备所有者

基本上与:

DevicePolicyManager.clearDeviceOwnerApp("com.package.something");

提前致谢!

如果设备上没有用户帐户,或者设备已root,您只能设置设备所有者。 这通常意味着您只能在恢复出厂设置后立即设置设备所有者。 您可以使用 NFC 配置(我从未这样做过)或在adb shell 中设置设备所有者。 adb方法需要用户开启开发者模式,将 Android 设备连接到电脑,然后在 shell 中输入命令。

成为设备所有者的伪代码:

if the app is not the device owner
  if there is a user account
    inform the user that the app cannot become the device owner
  else if the app is a device administrator
    instruct the user to run the adb command
  else
    request to become a device administrator

我的设备所有者应用程序是一个完整的工作示例,包括如何从应用程序的包名称生成用户必须键入的命令。

我最近遇到了这个问题,我无法通过 adb 设置设备管理员,经过一番折腾之后,我找到了一种在 Android 9 上执行此操作的方法(它也可能适用于较低版本)。 我用的手机是小米MIX 3

  1. 恢复出厂设置
  2. 访问开发人员选项
  3. 在开发者选项中打开USB调试,此时您将被要求登录用户帐户,执行此操作。
  4. 在开发者选项中打开 USB 调试(安全设置)
  5. 在开发者选项中关闭通知高风险功能
  6. 现在在设置中转到帐户选项卡并注销/删除以前添加的帐户。
  7. 将您的手机连接到 PC,授予调试权限
  8. 发出adb shell dpm set-active-admin --user current package_name/device_admin_receiver
  9. adb shell dpm set-device-owner --user current package_name/device_admin_receiver

只能在新设备设置期间(即在设备的初始设置期间)设置设备所有者。 设备设置完成后,无法将其更改为另一个应用程序。

更改它的唯一方法是在设置过程中将设备恢复出厂设置并分配新的软件包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM