Сбой при вводе QR-кода в режим «Владелец устройства» - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть устройство под управлением Android 7.1.1, и я создаю пример приложения DPC для подготовки к созданию приложения для киоска COSU, но продолжаю сталкиваться с ошибкой в ​​настройке обеспечения.

Шаги, которые я предпринимаю:

  1. Сброс настроек устройства
  2. Успешное сканирование кода с экрана обеспечения QR
  3. Приложение успешно загружается и проверка контрольной суммы проходит.Я знаю это, потому что сначала он продолжал давать сбой при неправильно сгенерированной контрольной сумме.
  4. Установка сообщения приложения проходит без ошибок.
  5. Сообщение изменяется на «Установка владельца устройства ...» и сразу же завершается с ошибкойуниверсальное сообщение «К сожалению! Не удалось настроить ваше устройство ...»

Я поместил простые Toast в DeviceAdminReceiver подкласс в функции onEnabled и onProvisioningComplete.Отображается тост в onEnabled, а в onProvisioningComplete нет ничего удивительного.

Приложение подписано соответствующим сертификатом выпуска, настройка владельца устройства через adb также работает нормально, что также приводит меня к убеждениюимя и манифест компонента в порядке, иначе команда adb также не будет работать.

Текст QR-кода:

{
  "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"
}

Есть идеи, что может быть не так?У меня кончилась моя.Спасибо за любой вклад!

1 Ответ

0 голосов
/ 23 ноября 2018
{
     "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.

...