问题背景:

Android 10+系统获取到的imie号为null,有网上说Android 10+取消了获取IMEI的API,这就直接导致我们的程序相关功能不能再Android10设备上的使用。很多博客写出使用UUID来替换,但是客户要求必须用imei号便于他们管理。

解决方法:

TelephonyManager manager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
Method method = manager.getClass().getMethod("getImei", int.class);
imei = (String) method.invoke(manager, 0);

注意:除了使用上面代码外,需要在AndroidManifest.xml中添加以下关键一句权限,否则获取到的imei号就为空。从 Google Play 商店安装的第三方应用无法声明特许权限。需将应用弄成系统应用才可以声明以下权限。

<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />

使用解释:

(1)、READ_PRIVILEGED_PHONE_STATE (读取特权电话权限)。

从Android10开始,app必须有此权限才能访问设备不可重置的标识(例如:IMEI、设别序列号)

受影响的方法包括:

  • Build

    • getSerial()
  • TelephonyManager
    • getImei()
    • getDeviceId()
    • getMeid()
    • getSimSerialNumber()
    • getSubscriberId()

参考google官方文档:Android 10 中的隐私权变更  |  Android 开发者  |  Android Developers (google.cn)

(2)、TelephonyManager使用解释

android的后台运行在很多service,它们在系统启动时被SystemServer开启,支持系统的正常工作,比如MountService监听是否有SD卡安装及移除,ClipboardService提供剪切板功能,PackageManagerService提供软件包的安装移除及查看等等,应用程序可以通过系统提供的Manager接口来访问这些Service提供的数据。

getSystemService是Android很重要的一个API,它是Activity的一个方法,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象。TelephoneManager是电话服务。

解决Android 10系统获取不到imei号问题相关推荐

  1. linux系统获取4G模块IMEI号

    如果4G设备正常运行 在终端输入下面命令会得到设备当前的信号 命令:cat /dev/ttyUSB2& //得到: [1] 1563 //得到结果 命令: echo -e "AT+C ...

  2. Android多个imei如何获取,如何在Android 10中获取IMEI号,这是获取在Android 10及以下Android 10中获取IMEI号的代码...

    如何在android 10中获取imei编号,这是获取在android 10及以下android 10中获取imei编号的代码. if (android.os.Build.VERSION.SDK_IN ...

  3. android h5可以获取设备的imei 和iccid_Android10 下获取序列号和IMEI号的权限

    介绍 Android10 因为提高了其安全性能,因此获取序列号和IMEI号的权限与以前的版本有了变化这里就举例Zebra 移动设备Android 10 系统下的如何获取相应权限.运行Android 1 ...

  4. Window 10 使用WSL2下载编译Android 10 系统源码,并用sourceInsight 4 看系统源码

    一.Window 10 安装WSL2 安装教程来自微软官网:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 步骤 1 - 启用适用 ...

  5. 最新android 手机型号,各大安卓手机厂商Android 10系统更新汇总,你的机型支持吗?...

    原标题:各大安卓手机厂商Android 10系统更新汇总,你的机型支持吗? 对于安卓手机来说系统更新是一件非常好的事情,这意味着手机新增很多功能,同时新系统也能够给用户带来更好的体验.对于谷歌今年9月 ...

  6. android10唯一识别,Android 10 如何获取唯一值?

    floyda: Android 10 如何获取唯一值? 1.自己拼一个 uuid, 这个方法不是谷歌官方给予了设备唯一 ID 最佳做法(至少我在官方文档中找不到), 如果还原出厂设置, uuid 会改 ...

  7. android版本10好不好,一加正式推送Android 10系统 流畅性怎么样

    近日,一加正式推送Android 10系统,不知道流畅性如何呢? 一加官方推特正式宣布Android 10系统已进行阶段性推送,从今天开始一加7和一加7 Pro手机用户将会陆续收到氧OS系统的更新,国 ...

  8. 三星android11推送,三星将在2020年1月开始推送Android 10系统:等太久

    11月27日消息,据了解,三星将于2020年一月起,开始对其旗下设备进行推送Android 10系统.爆料显示,预计将有28款设备在适配名单中出现. 谷歌在上个月表示,许多其他制造商已经承诺在2019 ...

  9. android系统戳,直戳ARM长处 首个RISC-V版Android 10系统顺畅运行

    原标题:直戳ARM长处 首个RISC-V版Android 10系统顺畅运行 平头哥芯片开放社区本周四公布的一段视频显示,安卓10系统(代号Android 10系统)顺畅运行在平头哥玄铁910 RISC ...

最新文章

  1. [导入]ArcGIS破解克隆后出错问题解决
  2. Python用@property使类方法像属性一样访问
  3. .NET之生成数据库全流程
  4. php revel,试用revel-一个基于golang的web框架
  5. 安卓奇葩问题之:返回按键监听,使Dialog不消失
  6. 计算机专业考研复试个人简介ppt,蓝色简约考研复试个人简历通用ppt.pptx
  7. 直播绿幕抠图的例子(绿幕抠图直播实例参考)
  8. mac 微信 QQ 截图 问题
  9. Jaccard 评价指标的简介与图示
  10. linux6.9 fc cache,(转载, 已看)fc-cache出错解决办法.
  11. 陆奇-奇绩创坛-chatGPT新范式,新时代,新机会
  12. 哪个牌子的儿童护眼灯好?分享315护眼灯合格名单的护眼台灯
  13. 【软件安全:软件安全技术课后习题及答案】
  14. rpm查询,删除,安装命令详解
  15. leaflet、cesium加载百度地图,加载自定义样式百度地图
  16. 其次坐标,以及和非其次坐标互转
  17. 《世界因你不同:李开复自传》--引言 从心选择
  18. Ganache+Truffle+MateMask实现第一个Dapp(Windows)
  19. 关于使用jquery.wordexport.js如何设置导入文档的页边距问题(超详细,亲测可用)
  20. 判断一个数是不是2的n次方

热门文章

  1. ibm计算机键盘,又一款情怀之作,世界首个PC键盘IBM Model F复刻版来临
  2. excel转置怎么操作_Excel技巧分享:这几个小技巧简单实用,让你效率更高
  3. 星星之火-18:手机终端是移动的, 如何在任何时间、任何地点,找到为其提供服务的基站呢?
  4. 实时语音驱动实现Android端Avatar虚拟人表情表达
  5. c语言拼写检测器,NLP 中文拼写检测实现思路
  6. 网页前端知识汇总(四)——网页前端搜索框用get或者post提交方式的区别
  7. 【Spark分布式内存计算框架——Spark Core】6. RDD 持久化
  8. FineBI可视化报表制作-Demo
  9. 大泥王怎么调时区_卡西欧大泥王手表性能怎么样 卡西欧手表为什么叫泥王
  10. Scala之模式匹配