Ответ 1
Создайте собственную галерею, такую как: Галерея пользовательских изображений для Android с галочкой в сетке, чтобы выбрать несколько вариантов
@Посмотрите qaru.site/info/41387/...
Я пытаюсь выбрать изображения из галереи, но я нашел способ выбрать только одно изображение.
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. Вы получите набор 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-groups. Просто попробуйте это. Спасибо.
Я думаю, вы должны реализовать пользовательскую галерею для множественного действия выбора изображения.
Подробнее см. здесь.