My app is calling the gallery with an intent that looks like this:

Intent intent = new Intent(Intent.ACTION_PICK,
        android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, SELECT_IMAGE_FROM_GALLERY);

In versions < 3.0 there's no problem.

With 3.0 and greater versions, when you get a local image, the intent in the onActivityResult method contains an Uri like...

content://media/external/images/media/XXX

but when you select a picasa image the uri is something like...

content://com.google.android.gallery3d.provider/picasa/item/XXXXXXXXXXXXXXXXXXXXX

I read many about that problem and I tried many workarounds.

At the moment, I can obtain just cached images using:

getContentprovider().openInputStream(uri)

The problem is that, when the image is not cached, the openInputStream(uri) method, throws a FileNotFoundException, and i can't get the image :_(

Anyone knows how to get the file or the url to download the file or something to get the image??

Thanks!!

Edit
Report