我正在尝试使用隐式意图ACTION_SEND将其他应用程序中的图像共享到我的应用程序中。
从Chrome浏览器共享搜索图像时,应用会收到带有内容URI的意图,如下所示: content://com.android.chrome.FileProvider/images/screenshot/1457448067808912906311.jpg
如何从这种内容URI中获取文件路径?所有其他应用(例如Facebook,Google +)都在这样做。我正在使用FileChooser来获取其他类型的内容URI的文件路径(例如,从Gallery中获取)。
尝试到处寻找,没有太大帮助。有人可以建议如何使用这些内容URI吗?
如果您绝对需要该文件的本地副本,则需要InputStream
将内容的副本打开到一个您知道其路径的本地文件中,然后从那里开始。旁注:番石榴ByteStreams#copy
是实现此目的的简便方法。
当然,此文件不再受原始Uri源的支持,所以我认为这不是您想要的。相反,您应该使用Uri的预期API。看看存储访问框架
编辑
这里是你如何可以得到一个InputStream
从你的Uri
InputStream inputStream = getContentResolver().openInputStream(uri);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句