Select multiple images from Photo Gallery on Android using Intents

32,358

Solution 1

Create a custom gallery same like: Android custom image gallery with checkbox in grid to select multiple

Solution 2

First of all you need to use putExtra with your photoPickerIntent

photoPickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE);

Then in your on activity result you should get ClipData from Intent like this

ClipData clipData = data.getClipData();
//Where data is param intent of onActivityForResult

And iterate this clipData to get URI for specific picked image.

for (int i = 0; i < clipData.getItemCount(); i++){
    Uri uri = clipData.getItemAt(i).getUri();
}

I hope this helps

Solution 3

I think, you should implement custom gallery for multiple image pick action.

see here in details.

Solution 4

Why don't you try ACTION_SEND_MULTIPLE thing. You will receive a set of Uris.

Something like

    if (Intent.ACTION_SEND_MULTIPLE.equals(action))
        && Intent.hasExtra(Intent.EXTRA_STREAM)) {
        ArrayList<Parcelable> list =
    intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
        for (Parcelable parcel : list) {
           Uri uri = (Uri) parcel;
           /// do things here.
       }
    } 

Saw this code block on a google-groups post. Just try this out. Thanks.

Share:
32,358
spe
Author by

spe

Updated on March 05, 2020

Comments

  • spe
    spe over 4 years

    @See this https://stackoverflow.com/a/15029515/185022

    I`m trying to select images from gallery, but i only found the way to select a single image.

    Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
    photoPickerIntent.setType("image/*");
    startActivityForResult(photoPickerIntent, 1);
    

    Is there a way to select multiple images?

  • VenoM
    VenoM over 12 years
    @kalpesh Ok, It's like you fire your activity with Intent.ACTION_SEND_MULTIPLE, and should override your onActivityResult(), inside which u write the above code. I haven't tried out this code yet, as I'm in the middle of something. The above code just verifies, if the action is what u fired and it has extra data, then collect the results to an array list. For further details, see this. Hope this helps. :)
  • VenoM
    VenoM over 12 years
    I mean willtate's answer is more than enough.
  • Kalpesh
    Kalpesh over 12 years
    First thanks for reply. But M sorry I try your code as said by you but this Intent is called to send activity from my device. I am new in android developer So is their possibility of my mistake. At Now i follow the answer of willtake.....
  • VenoM
    VenoM over 12 years
    Sorry my mistake, Send won't let you pick. Forget this.
  • Kalpesh
    Kalpesh over 12 years
    It's ok....I think likeaboss answer is also very useful....I think in android all thing is going better when we use it as custom......what's you say...?
  • accordionfolder
    accordionfolder almost 12 years
    This is the code needed to receive multiple files from the gallery ACTION_SEND_MULTIPLE intent, it helped me.
  • Aditya Vyas-Lakhan
    Aditya Vyas-Lakhan about 9 years
    but it open all the images,how to open folder vise
  • mbelsky
    mbelsky almost 9 years
    EXTRA_ALLOW_MULTIPLE added in API level 18