You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已获取设备管理员权限的Android 10设备如何获取IMEI

Android 10 设备管理员权限获取IMEI可行方案

前提注意事项

DevicePolicyManager.EXTRA_PROVISIONING_IMEI 仅可在设备首次置备(激活设备管理员)阶段获取,应用日常运行时调用无法拿到有效值,这是调用失败的核心原因。
Android 10 对唯一标识获取做了强制限制,仅*设备所有者(Device Owner)/ 配置文件所有者(Profile Owner)*级别的应用可获取IMEI,普通设备管理员权限不满足要求。

实现方案

方案1:置备阶段获取IMEI

仅可在设备首次置备流程中取值,拿到后需自行持久化存储,后续无法二次获取:

  • 提前注册广播接收DevicePolicyManager.ACTION_PROVISIONING_SUCCESSFUL,该广播仅会在置备完成后触发一次
  • 在广播回调的onReceive方法中,从传入的intent中提取DevicePolicyManager.EXTRA_PROVISIONING_IMEI对应的字符串,此时可拿到有效IMEI

方案2:日常运行时获取稳定替代标识

如果无法在置备阶段操作,可使用官方提供的专属稳定标识替代IMEI做设备识别:
调用DevicePolicyManager.getEnrollmentSpecificId()即可获取,该标识只要设备不恢复出厂、不取消应用的设备所有者权限就不会变更,支持运行时直接调用,无需额外权限。

错误排查项

  • 调用DevicePolicyManager.isDeviceOwnerApp(你的应用包名)验证返回值是否为true,确认应用具备设备所有者权限
  • 若返回为false,说明应用仅为普通设备管理员,无法获取IMEI,需重新走设备所有者置备流程

内容的提问来源于stack exchange,提问作者andrefarinh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 17:09:04