[英]How to set device owner on Android Things?
我想在运行 Android Things 的设备上将我的 Android 应用程序设置为设备所有者。
(我知道 Android Things 正在关闭,但我仍然需要让它工作)
我尝试了常用命令: adb shell dpm set-device-owner <package>/<component>
此命令在标准 Android 设备上运行良好,但在 Android Things 上我得到以下响应:
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
),但仍然出现相同的错误。
我还尝试在/system/data
手动创建device_owner.xml
、 device_policies.xml
、... 文件,如与 AOSP 相关的主题中所述,但没有效果。
是否可以在 Android Things 设备上设置设备所有者?
Android Things 现在已经过时了,您可以使用智能手机操作系统或 Android。 这是基于这个报价:
Android Things 是谷歌现已弃用的基于 Android 的嵌入式操作系统平台,在 2015 年谷歌 I/O 大会上宣布,并于 2018 年推出。 2019 年,Android Things 放弃了对低功耗硬件的支持,重新专注于智能手机级设备。
android中的owner可以在本文档说明中设置,示例代码:
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()
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.