在我的应用中,我打算使用清单中的“ 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。
答案 0 :(得分:1)
感谢Mike M的评论。
getContentResolver().openFileDescriptor()
正确打开fileDescriptor。