Я работаю над приложением, и одной из его функций является отображение изображений из приложения галереи Android. В пользовательском интерфейсе есть опция «Выбрать из галереи», которая переводит пользователей в приложение галереи и позволяет пользователям выбирать более одного изображения. Чтобы не тратить место на устройстве хранения на создание собственных миниатюр и хранение изображений в собственном пространстве приложения, я храню только URI изображений и URI соответствующих миниатюр в базе данных. В основном, я хотел бы использовать существующие миниатюрыэто приложение галереи использует для этих изображений. У меня вопрос в два раза -
Можно ли разрешить пользователю выбирать несколько изображений в приложении галереи, открытом с намерением? Если да, то как мне получить пути для этих изображений внутри обратного вызова (onActivityResult)?
Я читал, что миниатюры хранятся в каталоге /storage/emmc/DCIM/.thumbnails. Как мне найти пути к тем эскизам, которые представляют изображения, выбранные пользователем? Имеют ли миниатюры то же имя, что и их изображения? (Поскольку миниатюры хранятся в другом каталоге, чем изображения)
// Мой onOptionsItemSelected выглядит следующим образом
val getIntent = Intent(Intent.ACTION_GET_CONTENT)
getIntent.type = "image/*"
val pickIntent = Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI
)
pickIntent.type = "image/*"
val chooserIntent = Intent.createChooser(getIntent, "Select Image")
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, arrayOf(pickIntent))
startActivityForResult(chooserIntent, PICK_IMAGE)
true