android - QR 码置备到设备所有者模式失败

标签 android qr-code provisioning device-owner

我有一台运行 Android 7.1.1 的设备,我正在构建示例 DPC 应用程序以准备制作 COSU kiosk 应用程序,但我在配置设置中一直遇到错误。

我采取的步骤:

  1. 将设备恢复出厂设置
  2. 成功扫描 QR 配置屏幕中的代码
  3. 应用下载成功并且校验和检查通过。我知道这一点,因为起初它一直在错误生成校验和时失败。
  4. 安装应用消息顺利通过。
  5. 消息更改为“设置设备所有者...”并立即失败并显示通用消息“糟糕!无法设置您的设备...”

我已将 DeviceAdminReceiver 子类中的简单 Toast 放入 onEnabledonProvisioningComplete 函数中。 onEnabled 中的 Toast 显示,onProvisioningComplete 中的 Toast 不出所料。

该应用程序使用正确的发布证书签名,通过 adb 设置设备所有者也可以正常工作,这也让我相信组件名称和 list 没问题,否则 adb 命令也会失败。

二维码文字:

{
  "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "component name",   
  "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "the checksum",
  "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "the link",
  "android.app.extra.PROVISIONING_SKIP_ENCRYPTION" : "True",
  "android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED" : "True"
}

任何想法可能是错误的?我的用完了。感谢您的任何输入!

最佳答案

{
     "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "com.my.app/com.my.app.MyDeviceAdminReceiver",   
     "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "the checksum",
     "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "the link",
     "android.app.extra.PROVISIONING_SKIP_ENCRYPTION" : true,
     "android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED" : true
}

PROVISIONING_SKIP_ENCRYPTION 和 PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED 的值应该是 bool 值,而不是字符串。至少它在我的应用程序中是 bool 值并且有效。

还要确保您以正确的方式指定了设备管理接收器的组件名称。指定的组件必须扩展 android.app.admin.DeviceAdminReceiver。

关于android - QR 码置备到设备所有者模式失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53395081/

相关文章:

android - 更改 APK 中的 Android 应用程序图标?

android - retrofit 拦截器未向URL添加查询参数

iOS - 无法使用 APNS 证书创建新的配置文件

linux - 如何使用受密码保护的私钥执行 salt 状态 git.latest

android - 获取具有特定权限的应用程序名称

Android - 如何在 GridView 中放置标签

barcode - ZXing:寻找条码的边界矩形

ios - ARKit和Vision –如何在找到的QR码上放置SCNPlane?

android - 我想扫描经典二维码和倒置(浅暗)二维码。该怎么办?

provisioning - Ansible 如何重播通知