2011-01-20 2 views
29

@see этого https://stackoverflow.com/a/15029515/185022Выберите несколько изображений из фотогалереи на Android с помощью Intents

I`m пытается выбрать изображения из галереи, но я только нашел способ, чтобы выбрать одно изображения.

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

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

+0

http://stackoverflow.com/questions/9379579/select-multiple-images-in-android-gallery увидеть этот ответ – Abhi

+0

Вы могли бы рассмотреть использование моего проекта: HTTP: //stackoverflow.com/a/12806036/411162 –

ответ

1

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

Что-то вроде

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-групп сообщения. Просто попробуйте это. Спасибо.

+0

Пожалуйста, можете ли вы попытаться объяснить мне вкратце .... – Kalpesh

+1

@kalpesh Хорошо, это как вы стреляете своей деятельностью с помощью ** Intent.ACTION_SEND_MULTIPLE ** и должны переопределять * * onActivityResult() **, внутри которого вы пишете вышеперечисленное _code_. Я еще не пробовал этот код, так как я посреди чего-то. Вышеприведенный код просто проверяет, есть ли действие, которое у вас запущено, и оно содержит дополнительные данные, а затем собирает результаты в список массивов. Для получения дополнительной информации см. [This] (http://developer.android.com/reference/android/content/Intent.html#ACTION_SEND_MULTIPLE). Надеюсь, это поможет. :) – VenoM

+0

Я имею в виду, что ответ пользователя будет более чем достаточно. – VenoM

1

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

см. here подробно.

+0

, но он открывает все изображения, как открыть тик папки –

3

Прежде всего, вам нужно использовать 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(); 
} 

Я надеюсь, что это помогает

+2

EXTRA_ALLOW_MULTIPLE добавлен в уровень API 18 – mbelsky

Смежные вопросы