【Android系统更新--- Android10-getDeviceId返回null---DeviceId---AndroidID】

Android 10系统为了保护用户隐私,限制了第三方APP访问DeviceId等不可重置的设备标识。当app target为Android 10及以上时,getDeviceId()会抛出SecurityException,返回null。官方推荐使用AndroidID作为替代,但此ID在系统恢复出厂设置或签名key变更后可能改变。对于Android 8.0及以上版本,AndroidID会根据系统升级或用户切换发生变化。
摘要由CSDN通过智能技术生成

用意

  • 保护用户隐私
  • 限制第三方APP 访问到超出 APP使用期间的数据(device id、meid等)
  • 导致10之后DeviceID不可用,推荐使用AndroidID

Android 10系统

针对un-resetable(刷机都不会重置 的id数据) 数据读取,新增限制。
影响的方法

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

DeviceId

需要权限

  • READ_PHONE_STATE
  • READ_PRIVILEGED_PHONE_STATE
    • 新增权限
    • 在GooglePlay中不允许第三方应用持有。
app target >= Android 10(29)

抛出异常 SecurityException

app target < Android 10
  1. READ_PHONE_STATE权限,return null
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值