1

我有很多手机需要使用 IMEI 条形码在数据库中注册,并在其上安装公司应用程序以连接和跟踪它们。为此,我需要使用 getDeviceID() 访问 IMEI。从 Android 10 开始,就没有那么简单了。

在此页面中,Android 说如果您是设备所有者,您可以访问它:https ://developer.android.com/training/articles/user-data-ids

我使用这种方法使我的应用程序成为设备所有者应用程序: 如何使我的应用程序成为设备所有者?

adb shell dpm set-device-owner com.package.name/.MyDeviceAdminReceiver 

当我在应用程序中使用 getDeviceId() 时,我仍然有错误:

 java.lang.SecurityException: getDeviceId: The user 10180 does not meet the requirements to access device identifiers.

为什么这种方法不起作用?您对 IMEI 有什么建议吗?

4

1 回答 1

0

将您的应用程序设置为设备所有者是不够的,您还需要它来完成配置流程。对于最高 11 的 Android,它通过启动 ACTION_PROVISION_MANAGED_DEVICE开始,对于 Android 12 ,您必须收听ACTION_GET_PROVISIONING_MODE

Google 提供了一个示例 DPC

于 2021-09-28T11:44:16.560 回答