Android 10 (API 29)新特性:设备标识访问限制造成的影响与替代方案
100 浏览量
更新于2024-08-29
收藏 79KB PDF 举报
Android 10 (API级别29)引入了一项重要的安全更新,即设备硬件标识符访问限制。这个新特性旨在保护用户的隐私,防止应用滥用不可更改的设备标识,如IMEI(国际移动设备身份码)、序列号等。在Android Q及更高版本中,对于这些系统敏感信息的操作有显著变化:
1. 原来的做法:在Android Q之前,开发者可以通过`TelephonyManager`获取设备ID和序列号等信息。但在API 29及后续版本中,如果没有满足特定权限要求,这些方法将不再直接可用。例如,尝试获取IMEI时,如果targetSdkVersion小于Q,可能返回null或"unknown";如果大于等于Q,则会抛出`SecurityException`,提示用户没有权限访问设备标识。
2. 受影响的方法:`Build.getSerial()`,`TelephonyManager.getImei()`, `getDeviceId()`, `getMeid()`, `getSimSerialNumber()`以及`getSubscriberId()`都受到影响。
3. 替代方案:
- 方案一:使用Android ID,虽然这个标识是基于应用的签名密钥生成的,不同应用可能会得到不同的Android ID,但当应用使用相同的签名密钥时,Android ID保持不变。此方案适用于测试,但不保证在系统恢复或升级后仍保持一致。
```
String androidId = Settings.System.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
```
- 方案二:通过硬件信息的组合来创建一个独特的标识,这种方法相对更稳定,不受应用签名影响,但非官方推荐,可能存在一定的不确定性和不安全性。
Android 10对设备硬件标识符的访问进行了严格的控制,开发者在设计应用时需要遵循新的权限模型,并考虑使用替代方法来获取必要的设备信息,同时尊重用户的隐私权。这体现了Android在隐私保护上的持续改进,也是向更安全的移动设备生态系统迈进的重要一步。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-06-09 上传
123 浏览量
2012-01-09 上传
2012-09-21 上传
2016-03-14 上传
2012-02-02 上传
weixin_38560107
- 粉丝: 1
- 资源: 936
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析