Выберите несколько изображений из фотоальбома на Android с помощью намерений

@ См. Этот https://stackoverflow.com/a/15029515/185022

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

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

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

Создайте собственную та же галерею, например: пользовательская галерея изображений Android с флажком в сетке, чтобы выбрать несколько

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

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

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

Что-то вроде

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

Видел этот блок кода в сообщении google-groups. Просто попробуйте это. Благодарю.

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

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

  • сортировка списка карт
  • Как округлить время до ближайшего квартального часа в java?
  • Динамический список в приложении Android
  • «Переопределить метод суперclassа» Ошибки после импорта проекта в Eclipse
  • Автоматически регистрировать события жизненного цикла Android с помощью ActivityLifecycleCallbacks?
  • Невозможно создать или отредактировать виртуальные устройства Android (AVD) от Eclipse, ADT 22.6
  • как возобновить прерванную загрузку - часть 2
  • В чем разница между HashMap и TreeMap?
  • Calendar.getInstance (TimeZone.getTimeZone («UTC»)) не возвращает время UTC
  • Android: в таблице нет столбца с именем «имя переменной» Ошибка базы данных MySql
  • Добавление пользовательских заголовков в запросы ресурсов WebView - андроид
  • Interesting Posts

    Почему чистая виртуальная функция инициализируется 0?

    Простое разделение на Java – это ошибка или функция?

    NetUIHWND и DirectUIHWND

    Как работает цикл for, особенно для (;;)?

    Ошибка компоновщика MinGW: winsock

    При каких обстоятельствах связаны списки ссылок?

    Чтение файла по строке в C #

    Исключить вспышку неравномерного содержимого

    «Это приложение захочет: иметь автономный доступ», когда access_type = онлайн

    Когда адаптер виртуальной машины VirtualBox установлен в «Внутренняя сеть», может ли брандмауэр управления хост-машиной получить доступ к портам гостевой виртуальной машины?

    Отключить звуковое сопровождение звуковой карты Windows

    Сохранить несколько макетов гнома-терминала?

    Почему Boost.Asio не поддерживает интерфейс на основе событий?

    Перечислите или перечислите все переменные в программе

    Есть ли у .NET 4 встроенный сериализатор / десериализатор JSON?

    Давайте будем гением компьютера.