How to get Bitmap from an Uri?

android, android-bitmap, android-image, uri

Solution

Here's the correct way of doing it:

protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK)
    {
        Uri imageUri = data.getData();
        Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
    }
}

If you need to load very large images, the following code will load it in in tiles (avoiding large memory allocations):

BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(myStream, false);  
Bitmap region = decoder.decodeRegion(new Rect(10, 10, 50, 50), null);

See the answer here

Problem

How to get a Bitmap object from an Uri (if I succeed to store it in `/data/data/MYFOLDER/myimage.png` or `file///data/data/MYFOLDER/myimage.png`) to use it in my application? Does anyone have an idea on how to accomplish this?

Original source

Related problems