Я хочу подготовить свое приложение для киоска (для устройства COSU), используя adb
, и получаю уведомление в методе onProfileProvisioningComplete
, который я переопределяю в своем Reciever, который расширяет DeviceAdminReceiver
.
системы, с которой мне удалосьпервая часть - установив владельца устройства с помощью abd
и запустив мою активность, которая входит в режим блокировки задач. Тем не менее, я получил код конфигурации для моего приложения в onProfileProvisioningComplete
- я прочитал содержимое записи android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE
в Intent подготовки Intent.
Проблема в том, что метод не вызываетсяпосле установки владельца устройства со следующим
adb shell dpm set-device-owner my.package/.extends.device.AdminReceiver
Итак, я попытался отправить широковещательную рассылку с действием android.app.action.PROFILE_PROVISIONING_COMPLETE
и поместил несколько пар ключ-значение в Intent:
adb shell am broadcast -a android.app.action.PROFILE_PROVISIONING_COMPLETE -e my_key my_value
Но получил следующее:
Permission Denial: broadcasting Intent { act=android.app.action.PROFILE_PROVISIONING_COMPLETE flg=0x400010 cmp=my.package/.extends.device.AdminReceiver (has extras) } from null (pid=4726, uid=2000) requires android.permission.BIND_DEVICE_ADMIN due to receiver my.package/.extends.device.AdminReceiver
Я пытался предоставить разрешение:
adb shell pm grant package android.permission.BIND_DEVICE_ADMIN
Но получил
Operation not allowed: java.lang.SecurityException: Package my.package has not requested permission android.permission.BIND_DEVICE_ADMIN
Очевидно, мое приложение не запрашивает разрешение- мой приемник делает.Однако, когда я попытался указать получателя как my.package/.extends.device.AdminReceiver
в приведенной выше команде, это не сработало - я получил Bad argument
.
Итак, я попытался поднять разрешение от получателя до уровня приложения.(через uses-permission
).Также не сработало.
С этим фоном, как заставить мой код получать трансляцию android.app.action.PROFILE_PROVISIONING_COMPLETE
, которую я отправляю с использованием adb
?Возможно ли это даже через adb
?