在 Android 10 中无法访问 DCIM/SUBDIR

Lost access to DCIM/SUBDIR in Android 10

我的应用程序像相机一样将文件写入 DCIM/SUBDIR。在 Android 10 之前它工作正常。现在它看不到该目录的内容并生成

java.io.FileNotFoundException: /storage/emulated/0/DCIM/SUBDIR/myfile: open failed: EACCES (Permission denied)

如何克服?我不允许用户 select 文件,因为我的工作流程就像在相机中一样:您不会 select 在拍摄的每张照片上输入文件名。所以我可能不能使用 Storage Access Framework?

尝试在 AndroidManifest.xml

<application> 标签中添加以下键
<application android:requestLegacyExternalStorage="true"

Android10 中的文件访问基于 scoped storage 标准。

check this out

这仅适用于 Android 10。如果您将目标版本设置为 11,它将无效。Check this.