【发布时间】:2026-01-20 05:00:01
【问题描述】:
我的应用调用图库的意图如下:
Intent intent = new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, SELECT_IMAGE_FROM_GALLERY);
在
在 3.0 及更高版本中,当您获取本地图像时,onActivityResult 方法中的 Intent 包含 Uri like...
content://media/external/images/media/XXX
但是当您选择 picasa 图片时,uri 类似于...
content://com.google.android.gallery3d.provider/picasa/item/XXXXXXXXXXXXXXXXXXXXX
我阅读了很多关于该问题的信息,并尝试了许多解决方法。
目前,我可以使用以下方法获取刚刚缓存的图像:
getContentprovider().openInputStream(uri)
问题是,当图像没有被缓存时,openInputStream(uri) 方法会抛出 FileNotFoundException,我无法获取图像:_ (
任何人都知道如何获取文件或下载文件的网址或获取图像的东西吗??
谢谢!!
【问题讨论】:
-
最后以一个经典的解决方案结束……通过使用Document.util,它涵盖了所有权限:- *.com/a/30453641/1384010
标签: android gallery android-3.0-honeycomb android-4.0-ice-cream-sandwich picasa