我正在尝试检索用户想要通过的文件,例如照片库应用。因此,当他们点击共享按钮并选择我的应用程序时,我正在通过方法Uri fileUri = (Uri) getIntent().getExtras().get(Intent.EXTRA_STREAM);
检索文件的Uri。这很好。
然后,我尝试获取其Uri是我拥有的文件。我这样做:
File file = new File(fileUri.getPath());
但是,之后,当我尝试打开它并阅读它时,我得到了java.io.FileNotFoundException ENOENT (No such file or directory)
。此外,当我执行file.exists()
方法时,它返回false
。所以我不知道问题出在哪里。
以下是代码:
Uri fileUri = (Uri) getIntent().getExtras().get(Intent.EXTRA_STREAM);
File file = new File(fileUri.getPath());
FileInputStream imageInFile = new FileInputStream(file);
我做错了什么?
编辑:
我的清单中已有<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
标记。
我还必须补充一点,我检索的文件的uri是这样的:“/ 0/1 / content:/ media / external / images / media / 9412 / ACTUAL / 1989334571”。如您所见,该文件根本没有任何扩展名,因此可能是问题所在。不过,我不知道如何解决它。
编辑2:
似乎从KitKat开始就是一个问题...