Выберите несколько изображений из Photo Gallery на Android, используя Intents - PullRequest
29 голосов
/ 20 января 2011

@ Смотрите это https://stackoverflow.com/a/15029515/185022

Я пытаюсь выбрать изображения из галереи, но я нашел способ выбрать только одно изображение.

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

Есть ли способ выбрать несколько изображений?

Ответы [ 4 ]

7 голосов
/ 07 декабря 2011
4 голосов
/ 08 мая 2015

Прежде всего, вам нужно использовать putExtra с вашим photoPickerIntent

photoPickerIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE);

Затем в результатах вашей активности вы должны получить ClipData из Intent, как это

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

И повторять этот clipDataполучить URI для конкретного выбранного изображения.

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

Надеюсь, это поможет

1 голос
/ 28 февраля 2013

Я думаю, вы должны реализовать собственную галерею для нескольких действий выбора изображений.

см. здесь в деталях.

1 голос
/ 15 декабря 2011

Почему бы вам не попробовать ACTION_SEND_MULTIPLE?Вы получите набор Uris.

Что-то вроде

    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.
       }
    } 

Видел этот блок кода в сообщении группы Google.Просто попробуйте это.Спасибо.

...