小编Veg*_* ZA的帖子

Android Webview 文件和相机上传 - Kotlin

我已经尝试过这个并且也测试了这个代码。如果我需要从文件浏览器上传,两者都可以正常工作,但我需要可以在文件浏览器或相机之间进行选择。

我可以找到很多 Java 示例来执行此操作,但我找不到使用 Kotlin 完成的工作版本。下面是我当前的webview 文件上传器代码:

活动结果:

        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
        {
            if(requestCode == REQUEST_SELECT_FILE){
                if(uploadMessage != null){
                    uploadMessage?.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode,data))
                    uploadMessage = null
                }
            }
        }else if(requestCode == FILECHOOSER_RESULTCODE){
            if(mUploadMessage!=null){
                var result = data?.data
                mUploadMessage?.onReceiveValue(result)
                mUploadMessage = null
            }
        }else{
            Toast.makeText(this,"Failed to open file uploader, please check app permissions.",Toast.LENGTH_LONG).show()
            super.onActivityResult(requestCode, resultCode, data)
        }
Run Code Online (Sandbox Code Playgroud)

设置WebChrome客户端:

 // For 3.0+ Devices (Start)
            // onActivityResult attached before constructor
            fun openFileChooser(uploadMsg : ValueCallback<Uri>, acceptType:String) {
                mUploadMessage = uploadMsg
                val i …
Run Code Online (Sandbox Code Playgroud)

android webview android-camera android-camera-intent kotlin

1
推荐指数
1
解决办法
6136
查看次数