Как установить владельца устройства на 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()
}
Другие вопросы по тегам