我在URI下面从dropbox中选择文件。
content://com.dropbox.android.FileCache/filecache/f9326bb2-272c-47dd-94da-37e66360c48f
以下是我用来选择文档的代码
documentIntent.setAction(Intent.ACTION_GET_CONTENT);
documentIntent.setType("application/*");
((AddProjectActivity) context).startActivityFromFragment(this, documentIntent, PICK_DOCUMENT);
如何从上面的URI获取真实路径?
答案 0 :(得分:1)
如何从URI
获取真实路径
内容提供程序的URI不需要可解析为任何现有文件。没有要求,所以如果您需要,可以保存CP提供给文件的内容,内容提供商可以按照自己喜欢的方式提供服务,即通过生成内容,从网络中获取,以及其他任何内容。此外,如果有文件(即缓存),您的进程可能无法访问它。
进一步阅读:https://developer.android.com/guide/topics/providers/content-providers.html
答案 1 :(得分:0)
我已经有相同的问题了很长一段时间了。我发现它出现在Android 7(API 25)中。使用API 23,我使用Intent选择器从dropbox(例如)打开文件的代码可以正常工作。没有涉及文件缓存。有了Android 7,它就破了。我在API 25上的失败测试是在AVD Nexsu上。使用API 23的成功测试可以在Samsung J5上进行。因此,如上文评论中所述,除三星以外的设备也可能存在问题。