java - 如何将READ_PHONE_STATE权限(特权权限)列入白名单?

标签 java android

Android 10 更改了设备标识符的权限,以便所有设备标识符现在都受到 READ_PRIVILEGED_PHONE_STATE 权限的保护。我无法找到一种方法来使用 READ_PHONE_STATE 权限来使用 TelephonyManager 获取所有这些标识符(例如 IMEI、IMSI 和构建序列)。

我尝试了 getImei()getDeviceId(),但当我C全部时,我仍然得到 Null。我知道现在应该有一种方法将我的应用程序或权限列入白名单,但我不知道如何!!!

TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(TELEPHONY_SERVICE);
telephonyManager.getImei(0);
telephonyManager.getDeviceId();

最佳答案

该权限不适用于通过 Play 商店安装的第三方应用。只有与平台 bundle 的 OEM 应用程序才能拥有该权限。 Android 10 说明中对此进行了概述:

https://developer.android.com/about/versions/10/privacy/changes

关于java - 如何将READ_PHONE_STATE权限(特权权限)列入白名单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58510053/

相关文章:

android - 什么时候从 UI 线程本身发布到 UI 线程是可取的?

java - 如何在 Firestore 中使用 POJO 更新所有文档中的一个字段?

android - 使用 androidx dropdownPreference 的正确方法是什么?

android - 从 Eclipse 导入 Android 项目后,依赖项列表中的项目无效

Java 反射(reflect)方法作用域变量

java - 确定最短路线的难题

android - 围绕 SharedPreference 对辅助类进行单元测试

Java -Xmx,系统最大内存

java - 如何计算以字符串形式给出的数学表达式?

java - 如何使用@XmlElement注释将REST输出映射到Spring Boot中的Dto,以便我可以获得所需格式的xml输出?