Android 11 应用程序将可请求 “所有文件访问” 权限

Android 11应用程序将可请求“所有文件访问”权限

让 Android 应用程序开发者纠结多时的 Android 11 文件访问权限问题有了新进展。

软餐(ruancan.com)获悉,面向 Android 11 并请求 “所有文件访问” 权限的应用程序将可从 2021 年 5 月开始发布到 Google Play。

据悉,要求「广泛访问设备存储」的 Android 开发者已经开始收到来自谷歌的电子邮件。

邮件称,自 2021 年 5 月 5 日开始,他们必须通知谷歌,解释自己的应用程序为何要求广泛的存储访问,否则他们将无法针对 Android 11 发布应用程序更新。

在 Android 11 之前的旧版系统上,各类 Android 应用程序可通过在清单中声明 READ_EXTERNAL_STORAGE 权限,并要求用户授予其权限,来请求对设备存储的广泛访问。

但是,这一机制被广泛滥用——许多应用程序明明不需要合法读取设备存储中的所有文件,也在请求这一权限。

这让谷歌最终决定,将通过对 Android 11 的分区存储(Scoped Storage)的更改来大幅收紧存储访问权限。

但是,对于合法的、需要更大的存储访问权限的应用程序(例如文件管理器),谷歌承诺将对其进行 “豁免”。谷歌鼓励这些应用程序以 Android 10(API 级别 29)为目标,并通过在 Manifest 中声明 requestLegacyExternalStorage=true 来请求 “传统” 的存储访问权限。

传统访问(Legacy access)允许应用程序广泛访问设备的存储,而不受分区存储(Scoped Storage)的限制。

但是,所有以 Android 11(API 级别 30)及更高版本为目标的应用程序均受 “分区存储” 限制,并且无法请求对设备存储的传统访问。相反,他们必须请求一个名为 Manage_External_STORAGE 的新权限 (对用户显示为 “所有文件访问”),以授予广泛的存储访问权限(少数几个目录(如/ Android / data 或/ Android / obb)除外)。

Android 11应用程序将可请求“所有文件访问”权限

按照谷歌的政策,自 2021 年 11 月开始,向 Google Play 提交的所有应用程序和应用版本更新,都必须以 Android 11 为目标。这就意味着,文件管理器类应用和其他需要更广泛存储访问的应用,最终必须切换到 “分区存储” 模型并请求 “所有文件访问” 权限。

唯一的问题是,一直以来,谷歌并未允许开发者请求 “所有文件访问” 权限。谷歌早前表示,它将要求开发者签署一份声明。此声明表单旨在允许谷歌淘汰不需要 “所有文件访问” 的应用程序。

但谷歌迟迟未按计划(原定于 2019 年 11 月)实际提供这些声明书。谷歌解释称受新冠疫情影响,这份声明因此被推迟。

终于,现在,谷歌已经开始通知开发者他们的应用程序何时可以实际请求 “所有文件访问” 权限。

谷歌新发布的支持页面显示,面向 Android 11 并请求 “所有文件访问” 的应用程序,最终可自 2021 年 5 月开始发布到 Google Play。

软餐(ruancan.com)较早前报道,X-plore 在今年初成为首个可完全访问 Android 11 内部存储的文件管理器。

Android 11应用程序将可请求“所有文件访问”权限
(6)
余渝的头像余渝

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注