Android 10 (API 29)新特性:设备标识访问限制造成的影响与替代方案
168 浏览量
更新于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在隐私保护上的持续改进,也是向更安全的移动设备生态系统迈进的重要一步。
123 浏览量
2020-06-09 上传
2023-07-17 上传
2023-12-19 上传
2024-10-28 上传
2023-12-16 上传
2023-05-15 上传
2023-04-02 上传
weixin_38560107
- 粉丝: 1
- 资源: 936
最新资源
- 新代数控API接口实现CNC数据采集技术解析
- Java版Window任务管理器的设计与实现
- 响应式网页模板及前端源码合集:HTML、CSS、JS与H5
- 可爱贪吃蛇动画特效的Canvas实现教程
- 微信小程序婚礼邀请函教程
- SOCR UCLA WebGis修改:整合世界银行数据
- BUPT计网课程设计:实现具有中继转发功能的DNS服务器
- C# Winform记事本工具开发教程与功能介绍
- 移动端自适应H5网页模板与前端源码包
- Logadm日志管理工具:创建与删除日志条目的详细指南
- 双日记微信小程序开源项目-百度地图集成
- ThreeJS天空盒素材集锦 35+ 优质效果
- 百度地图Java源码深度解析:GoogleDapper中文翻译与应用
- Linux系统调查工具:BashScripts脚本集合
- Kubernetes v1.20 完整二进制安装指南与脚本
- 百度地图开发java源码-KSYMediaPlayerKit_Android库更新与使用说明