Как установить владельца устройства на Android Things?
Я хочу установить свое приложение для Android в качестве владельца устройства на устройстве под управлением Android Things.
Пробовал обычную команду:
adb shell dpm set-device-owner <package>/<component>
Но получаю такой ответ:
java.lang.RuntimeException: Can't set package ComponentInfo{<package>/<component>} as device owner.
at com.android.commands.dpm.Dpm.runSetDeviceOwner(Dpm.java:149)
at com.android.commands.dpm.Dpm.onRun(Dpm.java:96)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:54)
at com.android.commands.dpm.Dpm.main(Dpm.java:41)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:285)
Я пробовал запустить команду как root (после
adb shell
&
su
), но по-прежнему получаю ту же ошибку.
Я тоже пробовал создать вручную
device_owner.xml
,
device_policies.xml
,... файлы в
/system/data
, как упоминалось в темах, связанных с AOSP, но это не имеет никакого эффекта.
Можно ли каким-то образом установить владельца устройства на устройстве Android Things?
1 ответ
Android Things уже устарел, вы можете использовать ОС смартфона или Android. Это основано на этой цитате:
Android Things - это устаревшая платформа встроенной операционной системы на базе Android от Google, анонсированная на Google I / O 2015 и запущенная в 2018 году. В 2019 году Android Things отказался от поддержки маломощного оборудования и переориентировался на устройства класса смартфонов.
Владелец в Android может быть использован для установки в этом объяснении документа пример кода:
val provisioningActivity = getActivity()
// You'll need the package name for the DPC app.
val myDPCPackageName = "com.example.myDPCApp"
// Set up the provisioning intent
val provisioningIntent = Intent("android.app.action.PROVISION_MANAGED_PROFILE")
provisioningIntent.putExtra(myDPCPackageName,
provisioningActivity.applicationContext.packageName)
if (provisioningIntent.resolveActivity(provisioningActivity.packageManager) == null) {
// No handler for intent! Can't provision this device.
// Show an error message and cancel.
} else {
// REQUEST_PROVISION_MANAGED_PROFILE is defined
// to be a suitable request code
startActivityForResult(provisioningIntent,
REQUEST_PROVISION_MANAGED_PROFILE)
provisioningActivity.finish()
}