在我的应用程序中,我收到使用menifest中的“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();
}
Run Code Online (Sandbox Code Playgroud)
当我从文件管理器中单击文件并使用我的应用程序打开它时,它说该文件不存在。这意味着我无法从 URI 创建文件。
所以我的问题是如何从 URI 获取parcelFileDescriptor。
感谢 Mike M 的评论。
getContentResolver().openFileDescriptor()
Run Code Online (Sandbox Code Playgroud)
正确打开文件描述符。
| 归档时间: |
|
| 查看次数: |
2493 次 |
| 最近记录: |