首页 > 解决方案 > 如何获得使用范围存储的 Android 11 中的 File 对象编辑文件的权限?

问题描述

在 Android 10 范围存储中,完全限制了使用文件路径形成 File 对象。然而,根据许多反馈,这在 Android 11 中有所缓解(https://www.youtube.com/watch?v=RjyYCUW-9tY&ab_channel=AndroidDevelopers)。在视频中提到,您可以使用 File 对象并在用户同意的情况下通过请求权限来访问文件。

我无法弄清楚我应该获得什么权限来使用 File 对象编辑文件。我试过 SAF,它没有用。

(我想使用 ID3 标签编辑器库编辑音频文件的标签,该库以文件的形式输入。我尝试使用 SAF 获得权限,但它不起作用,我尝试使用 MediaStore.createWriteRequest() 获得权限,即使这没有'工作)

编辑 1:我正在使用 MediaStore.Audio.Media.DATA 列值获取文件路径。

换句话说,如果我们获得使用 SAF 文件的权限,我们是否可以使用 File 对象来编辑该文件(或)如果您通过 SAF 获得文件权限,您只能使用 DocumentFile 来编辑该文件.

编辑 2:当我使用 SAF 获得许可时,我能够使用 DocumentFile 编辑文件,但是我无法使用 File 对象进行编辑。

标签: androidandroid-11scoped-storage

解决方案


推荐阅读