Я хочу загрузить несколько изображений в kotlin веб-просмотра - PullRequest
0 голосов
/ 27 февраля 2020
override fun onShowFileChooser(
                    webView: WebView?,
                    filePathCallback: ValueCallback<Array<Uri>>,
                    fileChooserParams: WebChromeClient.FileChooserParams
                ): Boolean {


                    uploadMessage = filePathCallback

                    val contentSelection = Intent(Intent.ACTION_GET_CONTENT)
                    contentSelection.addCategory(Intent.CATEGORY_OPENABLE)
                    contentSelection.setType("image/*");
                    contentSelection.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)

                    val chooserIntent = Intent(Intent.ACTION_CHOOSER)
                    chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelection)
                    chooserIntent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
                    chooserIntent.putExtra(Intent.EXTRA_TITLE, "이미지를 선택해주세요.")
                    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, arrayOf(contentSelection))


                    try {
                        startActivityForResult(chooserIntent, REQUEST_SELECT_FILE)
                    } catch (e: ActivityNotFoundException) {
                        uploadMessage = null
                        Toast.makeText(this@MainActivity, "Cannot Open File Chooser", Toast.LENGTH_LONG)
                            .show()
                        return false
                    }

                    return true
                }

Это мой метод onShowFileChooser. Это работает хорошо. Также я могу выбрать несколько изображений в поиске файлов.

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    if (requestCode == REQUEST_SELECT_FILE && resultCode == Activity.RESULT_OK) {
        uploadMessage?.onReceiveValue(
            WebChromeClient.FileChooserParams.parseResult(
                resultCode,
                data
            )
        )
        uploadMessage = null
    } else {
        uploadMessage?.onReceiveValue(null)
    }
}

Это мой метод onActivityResult. Этот метод возвращает только одно изображение. Если я выберу более 1 изображения, он вернет что угодно. Как я могу справиться с этим?

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