小编voi*_*bar的帖子

如何在 Android 10 上直接从外部下载目录读取文件(Q)

我尝试通过执行以下操作从 Android Q 上的下载文件夹中读取文件:

        File downloadDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
        File f = new File(downloadDir, "some-existing-file");
        if(!f.exists()) {
            throw new IllegalStateException();
        }

        Uri furi = Uri.fromFile(f);
        try {
            ParcelFileDescriptor des = getContentResolver().openFileDescriptor(
                    furi, "r", null);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
Run Code Online (Sandbox Code Playgroud)

我还在android:requestLegacyExternalStorage="true"清单中设置了请求WRITE_EXTERNAL_STORAGEREAD_EXTERNAL_STORAGE运行时权限。

该文件存在,但是当尝试打开文件描述符时,出现异常: java.io.FileNotFoundException: open failed: EACCES (Permission denied)

我阅读了Android Q 存储中所做的更改,但无法弄清楚如何在没有用户交互的情况下读取文件。

谢谢!

storage android

5
推荐指数
1
解决办法
3704
查看次数

标签 统计

android ×1

storage ×1