如何从URI获取parcelFileDescriptor?

时间:2018-11-28 05:23:09

标签: android

在我的应用中,我打算使用清单中的“ application / pdf”意图过滤器打开pdf文件。

经过大量研究,我正在尝试按照以下代码打开文件。

     try {
            File f = new File("file://"+uri.getPath());
            Toast.makeText(k.this, f.getAbsolutePath(), Toast.LENGTH_LONG).show();
            Toast.makeText(k.this, f.exists()?"Y":"N", Toast.LENGTH_LONG).show();
            parcelFileDescriptor = ParcelFileDescriptor.open(f, ParcelFileDescriptor.MODE_READ_ONLY);
        } catch (IOException e) {
            e.printStackTrace();
        }

当我从文件管理器中单击一个文件并用我的应用程序打开它时,它说该文件不存在。这意味着我无法从URI创建文件。

所以我的问题是如何从URI获取parcelFileDescriptor。

1 个答案:

答案 0 :(得分:1)

感谢Mike M的评论。

getContentResolver().openFileDescriptor()

正确打开fileDescriptor。