android - 如何获得使用范围存储的 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 对象进行编辑。
解决方案
推荐阅读
- java - 当用户输入不在范围内(在范围内时工作正常)时,我正在努力。我知道我的错误,但我无法修复它们
- arrays - UDF 使用数组拆分列中的字符串
- mysql - 如何在 MySQL 中的两个表之间进行两次连接,以使它们相互链接?
- javascript - Javascript 密码反馈
- python - 如何根据空格数拆分数据框中的字符串
- javascript - 在 JS React 中,本地 img 不通过数组导入
- c++ - c++ 将指针推入指针优先级队列会导致立即 valgrind 错误
- r - 如何在 Debian 中安装 poppler 0.73.0 和 pdftools?
- sql - SQL 如何根据某些条件生成约会时间表?
- python - 保存时 Python PIL 边框为 16x16 图像