如何从Android Dropbox URI获取真实路径?

时间:2017-04-19 11:03:31

标签: android

我在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获取真实路径?

2 个答案:

答案 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上进行。因此,如上文评论中所述,除三星以外的设备也可能存在问题。