首页 > 解决方案 > 白名单对于 WRITE_EXTERNAL_STORAGE 意味着什么?

问题描述

许可文档WRITE_EXTERNAL_STORAGE说:

如果此权限未针对以 Build.VERSION_CODES.Q 之前的 API 级别为目标的应用程序列入白名单,则无法向应用程序授予此权限。

这是什么意思以及如何将权限“列入白名单”?

标签: androidandroid-permissions

解决方案


在您所说的上下文中,一些针对某些权限的应用程序被“祖父”。根据许可文档

随着时间的推移,可能会向平台添加新的限制,这样,为了使用某些 API,您的应用必须请求以前不需要的权限。由于现有应用假定对这些 API 的访问是免费的,Android 可能会将新的权限请求应用于应用的清单,以避免在新平台版本上破坏应用(因此,“祖父”您的应用以获得权限)。Android 根据为 targetSdkVersion 属性提供的值来决定应用程序是否需要权限。如果该值低于添加权限的版本,则 Android 添加权限。

例如,从 API 级别 19 开始强制执行 READ_EXTERNAL_STORAGE 权限,以限制对共享存储空间的访问。如果您的 targetSdkVersion 为 18 或更低,则此权限会添加到您在较新版本的 Android 上的应用中。


推荐阅读