0

我正在开发一个应用程序,在该应用程序中我将我的应用程序设置为配置文件所有者以获取设备的 IMEI 和序列号。但在 android 12 中,IMEI 和序列号都受到限制,我们无法进一步获取这些参数。您能否让我知道除了使设备系统应用程序或使应用程序设备所有者之外,获取设备的 IMEI 和序列号的其他选项是什么。

4

1 回答 1

1

正如 Android 的参考所描述的,应用程序访问 IMEI 的唯一方法是满足列出的条件之一(链接):

从 API 级别 29 开始,永久性设备标识符受到额外限制的保护,建议应用使用可重置标识符(请参阅唯一标识符的最佳实践)。如果满足以下要求之一,则可以调用此方法:

  • 如果调用的应用程序已被授予 READ_PRIVILEGED_PHONE_STATE 权限;这是一项特权权限,只能授予设备上预加载的应用程序。
  • 如果调用应用程序是完全托管设备的设备所有者、组织拥有设备的配置文件所有者或其代理人(请参阅 DevicePolicyManager.getEnrollmentSpecificId())。
  • 如果调用应用程序在任何活动订阅上具有运营商权限(请参阅 hasCarrierPrivileges())。
  • 如果调用应用程序是默认 SMS 角色持有者(请参阅 RoleManager.isRoleHeld(java.lang.String))。
  • 如果调用应用程序已被授予 Manifest.permission#USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER 权限。

您必须选择其中之一或依赖其他标识符,例如可重置的 android-id

于 2021-09-28T12:39:23.933 回答