解决Android 10系统获取不到imei号问题
问题背景:
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号问题相关推荐
- linux系统获取4G模块IMEI号
如果4G设备正常运行 在终端输入下面命令会得到设备当前的信号 命令:cat /dev/ttyUSB2& //得到: [1] 1563 //得到结果 命令: echo -e "AT+C ...
- 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 ...
- android h5可以获取设备的imei 和iccid_Android10 下获取序列号和IMEI号的权限
介绍 Android10 因为提高了其安全性能,因此获取序列号和IMEI号的权限与以前的版本有了变化这里就举例Zebra 移动设备Android 10 系统下的如何获取相应权限.运行Android 1 ...
- Window 10 使用WSL2下载编译Android 10 系统源码,并用sourceInsight 4 看系统源码
一.Window 10 安装WSL2 安装教程来自微软官网:https://docs.microsoft.com/zh-cn/windows/wsl/install-win10 步骤 1 - 启用适用 ...
- 最新android 手机型号,各大安卓手机厂商Android 10系统更新汇总,你的机型支持吗?...
原标题:各大安卓手机厂商Android 10系统更新汇总,你的机型支持吗? 对于安卓手机来说系统更新是一件非常好的事情,这意味着手机新增很多功能,同时新系统也能够给用户带来更好的体验.对于谷歌今年9月 ...
- android10唯一识别,Android 10 如何获取唯一值?
floyda: Android 10 如何获取唯一值? 1.自己拼一个 uuid, 这个方法不是谷歌官方给予了设备唯一 ID 最佳做法(至少我在官方文档中找不到), 如果还原出厂设置, uuid 会改 ...
- android版本10好不好,一加正式推送Android 10系统 流畅性怎么样
近日,一加正式推送Android 10系统,不知道流畅性如何呢? 一加官方推特正式宣布Android 10系统已进行阶段性推送,从今天开始一加7和一加7 Pro手机用户将会陆续收到氧OS系统的更新,国 ...
- 三星android11推送,三星将在2020年1月开始推送Android 10系统:等太久
11月27日消息,据了解,三星将于2020年一月起,开始对其旗下设备进行推送Android 10系统.爆料显示,预计将有28款设备在适配名单中出现. 谷歌在上个月表示,许多其他制造商已经承诺在2019 ...
- android系统戳,直戳ARM长处 首个RISC-V版Android 10系统顺畅运行
原标题:直戳ARM长处 首个RISC-V版Android 10系统顺畅运行 平头哥芯片开放社区本周四公布的一段视频显示,安卓10系统(代号Android 10系统)顺畅运行在平头哥玄铁910 RISC ...
最新文章
- 首发|机器学习未来十年:你需要把握的趋势和热点
- SQL语句中exists和in的区别
- angular4 学习日志(一 依赖注入)
- elasticdump elasticsearch数据备份与迁移 导入导出
- 光绘文件 c语言 解析,AltiumDesigner输出光绘文件
- iptables学习笔记:端口转发之“外网访问内网”
- hdoj1102 Constructing Roads(Prime || Kruskal)
- Hibernate 教程(一)[Hibernate的基本配置]
- c语言贪吃蛇设计实验报告引言,C语言实现贪吃蛇游戏设计
- aforge java_C#调用AForge实现摄像头录像的示例代码
- python批处理删除文件夹中以xxx后缀名结尾的文件
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的clicked信号参数QAbstractButton *解决办法
- 如何快速找回丢失的数据?
- 城市数据大脑:小汽车儿堵成翔?NONONO!
- javascript进阶面向对象ES6
- 微信小程序注册提示邮箱已被占用
- 南邮——计算机图像学——光照、冯氏光照模型
- RFID门禁系统快速识别车辆管理
- PL/SQL连接时-Error while trying to retrieve text for error ORA-12154
- 泛微齐业成,一文告诉你如何实现全程数字化的预算管理
热门文章
- 【IDEA】Jump to Line插件
- matlab怎么与c语言接口,Matlab与C语言程序的应用编程接口 (2)
- R语言一元线性模型及结果分析
- 矩阵求导的本质与分子布局、分母布局的本质(一)
- 《中国当代艺术“价值观” 》 高岭 (一)
- Base64编码相关知识总结
- 北京轨道交通网将达六环 四环走1公里到地铁
- Camtasia2023专业电脑屏幕录像编辑声音软件
- 男人消费不如“狗”?那是因为他们有大目光!
- 哔哩哔哩老是服务器中断,哔哩哔哩官方回应B站崩了:部分服务器机房发生故障...