小编you*_*chy的帖子

从Gallery中检索非缓存的Picasa图像.3.0和4.0

我的应用程序调用库的意图如下:

Intent intent = new Intent(Intent.ACTION_PICK,
        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, SELECT_IMAGE_FROM_GALLERY);
Run Code Online (Sandbox Code Playgroud)

在<3.0版本中没有问题.

对于3.0及更高版本,当您获得本地图像时,onActivityResult方法中的意图包含类似于Uri的...

content://media/external/images/media/XXX
Run Code Online (Sandbox Code Playgroud)

但是当你选择一个picasa图像时,uri就像......

content://com.google.android.gallery3d.provider/picasa/item/XXXXXXXXXXXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)

我读了很多关于这个问题的文章,我尝试了很多解决方法.

目前,我可以使用以下方法获取缓存的图像:

getContentprovider().openInputStream(uri)
Run Code Online (Sandbox Code Playgroud)

问题是,当图像没有被缓存时,openInputStream(uri)方法抛出一个FileNotFoundException,我无法获取图像:_(

任何人都知道如何获取文件或网址下载文件或东西来获取图像?

谢谢!!

android picasa gallery android-3.0-honeycomb android-4.0-ice-cream-sandwich

10
推荐指数
2
解决办法
3571
查看次数