Android 10 之隐私权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 10 之隐私权限相关的知识,希望对你有一定的参考价值。

参考技术A

android 10 中的隐私权变更 https://developer.android.google.cn/about/versions/10/privacy/changes

从Android 10开始已经无法完全标识一个设备,曾经用mac地址、IMEI等设备信息标识设备的方法,从Android 10开始统统失效。而且无论你的APP是否适配过Android 10。

从Android10开始普通应用不再允许请求权限android.permission.READ_PHONE_STATE。而且,无论你的App是否适配过Android 10(即targetSdkVersion是否大于等于29),均无法再获取到设备IMEI等设备信息。

从 Android 10 开始,应用必须具有 READ_PRIVILEGED_PHONE_STATE 特许权限才能访问设备的不可重置标识符(包含 IMEI 和序列号)。而普通应用无法申请该权限。

受影响的API:

—— targetSdkVersion<29 的应用,其在获取设备ID时,会直接返回null
—— targetSdkVersion>=29 的应用,其在获取设备ID时,会直接抛出异常SecurityException

如果您的App希望在Android 10以下的设备中仍然获取设备IMEI等信息,可按以下方式进行适配:

默认情况下,在搭载 Android 10 或更高版本的设备上,系统会传输随机分配的 MAC 地址。即从Android 10开始,普通应用已经无法获取设备的真正mac地址,标识设备已经无法使用mac地址。

方法1、Google解决方案
如果您的应用有追踪非登录用户的需求,可用ANDROID_ID来标识设备。

ANDROID_ID生成规则:签名+设备信息+设备用户
ANDROID_ID重置规则:设备恢复出厂设置时,ANDROID_ID将被重置

方法2、移动安全联盟SDK
移动安全联盟SDK http://www.msa-alliance.cn/col.jsp?id=120

移动安全联盟(Mobile Security Alliance,简称MSA)于2017年12月4日成立,由中国信息通信研究院联合终端生产企业、安全企业、高等院校、研究机构、互联网企业以及芯片企业、方案企业等产业链中各个环节的重要机构共同发起。




其他资料:
Android 设备唯一标识(多种实现方案)



(部分内容参考于网络,如有不妥,请联系删除~)

以上是关于Android 10 之隐私权限的主要内容,如果未能解决你的问题,请参考以下文章

隐私保护!27%的Android手机APP越界获取用户隐私权限

不怕大厂「耍流氓」,想保护隐私的你可以这样管理 Android 权限

Android Q R的适配-隐私权限

Android Q R的适配-隐私权限

Android Q R的适配-隐私权限

Android新特性之6.0运行时权限