解决上层app在MTK8766 Android12上无法获取IMEI问题
2026/9/6 13:27:51 网站建设 项目流程

从Android10开始,上层app通过TelephonyManager的getImei方法获取IMEI的时候会返回null

原因:

  • 系统级限制:Android 12 的 TelephonyManager API 会校验调用者的 UID 和权限。普通应用调用 getImei() 或 getDeviceId() 只会得到空值,甚至会抛出 SecurityException 异常。此外,即使通过 ADB 模拟调用 iphonesubinfo 服务,也常因权限校验严格而失败。

  • 签名校验挑战USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER 属于 signature|privileged 级别权限,普通应用即使签名,若与声明该权限的系统库(如 Google 或厂商)证书不匹配,也无效。

  • 官方替代方案:对于常规应用,Google 建议使用可重置的 Settings.Secure.ANDROID_ID 或其他唯一标识符,而非 IMEI。

从系统层就已经限制了第三方app的访问。但是系统自带的电话app获取还是可以的(*#06#)

但是我的设备上电话应用也没有获取IMEI

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询