问题描述
我只是想知道,如果我们在应用程序中使用白名单权限。白名单许可由OEM授予。让我们以“系统”应用中的位置权限为例,该功能默认情况下处于启用状态。假设用户要进行设置并禁用该权限。
这真的会对应用程序产生影响吗?系统应用程序会停止收集吗 拒绝位置许可后的位置数据?否则不会 是否会因为OEM已将其列入白名单而影响系统应用程序?
解决方法
以下是官方文档:https://source.android.com/devices/tech/config/perms-whitelist
它说:
从历史上看,设备制造商几乎无法控制可以将哪些签名特权授予特权应用。
从 Android 8.0 开始,制造商必须在/ etc / permissions目录中的系统配置XML文件中明确授予特权。
从 Android 9 开始,实施者必须明确授予或拒绝所有 特权或设备无法启动。
也:
仅必须将核心平台(“ android”软件包)定义的权限列入白名单。 设备制造商定义的特权仍将被自动授予。
因此可以禁用标准android特权(例如:android.permission.ACCESS_FINE_LOCATION
),但是会自动授予自定义供应商特权(例如:com.samsung.android.knox.permission.KNOX_LOCATION
)。
PS:我强烈建议您在真实设备上亲自检查所有内容。 Android文档并不总是正确的。而且我个人从未获得过白名单许可,因此除了引用文档外,我无话可说。