Сбой при вводе QR-кода в режим «Владелец устройства»

1

У меня есть устройство под управлением 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"
}

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

Теги:
qr-code
provisioning
device-owner

1 ответ

1
Лучший ответ
{
     "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.

  • 0
    Bools сделали свое дело. Спасибо! Сначала я тестировал без полей SKIP_ENCRYPTION и LEAVE_ALL_SYSTEM_APPS_ENABLED, и это все равно не работало, любопытно.
  • 1
    Я думаю, что вы пропустили двойную кавычку перед com.my.app.... в первой строке.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню