将二维码调配到设备所有者模式失败

问题描述 投票:0回答:3

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

我采取的步骤:

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

我已将

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

该应用程序使用正确的发布证书进行签名,通过 adb 设置设备所有者也可以正常工作,这也让我相信组件名称和清单是可以的,否则 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 qr-code provisioning device-owner
3个回答
4
投票
{
     "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 的值应该是布尔值,而不是字符串。至少它在我的应用程序中是布尔值并且有效。

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


1
投票
{
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.rrivenllc.shieldx/.receivers.DeviceAdmin",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":"https://shieldx.rrivenllc.com/shieldx_install.apk",
    "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"AvZj_u-zsxNDgiRJtDTy4lcH06MqE-1xIfqP8JWmsak",
    "android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED":true
}

0
投票

1

{ "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME":"com.rrivenllc.shieldx/.receivers.DeviceAdmin", "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION":"https://shieldx.rrivenllc.com/shieldx_install.apk", "android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM":"AvZj_u-zsxNDgiRJtDTy4lcH06MqE-1xIfqP8JWmsak", “android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED”:true }

© www.soinside.com 2019 - 2024. All rights reserved.