在我的应用程序中,我正在接收意图,使用“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。
ContentResolver#openFileDescriptor()
方法。 - undefined