Выбор нескольких изображений из галереи и получение соответствующих миниатюр - PullRequest
0 голосов
/ 04 октября 2019

Я работаю над приложением, и одной из его функций является отображение изображений из приложения галереи 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
...