Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用一个按钮打开文件选择器,用第二个按钮打开相机应用程序android webview kotlin_Android_Kotlin_Webview - Fatal编程技术网

用一个按钮打开文件选择器,用第二个按钮打开相机应用程序android webview kotlin

用一个按钮打开文件选择器,用第二个按钮打开相机应用程序android webview kotlin,android,kotlin,webview,Android,Kotlin,Webview,我有两个html按钮,一个用于上传所有类型的文件,另一个用于打开相机和捕获图像 #File upload <input type="file" > #Open Camera <input type="file" capture="camera" multiple accept="image/*"> #文件上传 #开放式摄像机 我正在使用WebChromeClient打开kotlin中的文件选择器,该选择器工作正常,并使用以下代码将其文件上载到服务器 webV

我有两个html按钮,一个用于上传所有类型的文件,另一个用于打开相机和捕获图像

#File upload
<input type="file" >

#Open Camera
<input type="file" capture="camera" multiple accept="image/*">
#文件上传
#开放式摄像机
我正在使用WebChromeClient打开kotlin中的文件选择器,该选择器工作正常,并使用以下代码将其文件上载到服务器

    webView.setWebChromeClient(object: WebChromeClient() {
        override fun onShowFileChooser(webView:WebView, filePathCallback: ValueCallback<Array<Uri>>, fileChooserParams:FileChooserParams):Boolean {
            if (file_permission() && Build.VERSION.SDK_INT >= 21) {
                mFilePathCallback = filePathCallback

                val intent = Intent(Intent.ACTION_GET_CONTENT)                    
                intent.setType("*/*")
                startActivityForResult(intent, PICKFILE_REQUEST_CODE)
                return true
            }else
                return false
        }

    })
webView.setWebChromeClient(对象:WebChromeClient()){
覆盖ShowFileChooser(webView:webView,filePathCallback:ValueCallback,FileChooseParams:FileChooseParams):布尔值{
if(file_permission()&&Build.VERSION.SDK_INT>=21){
mFilePathCallback=filePathCallback
val intent=intent(intent.ACTION\u GET\u CONTENT)
intent.setType(“*/*”)
startActivityForResult(意向、选择文件\u请求\u代码)
返回真值
}否则
返回错误
}
})
如何将摄像头打开选项与WebChromeClient集成,以便它能够检测到按下的html按钮并相应地打开意图

也许您可以使用,它有一个名为的方法

从文件

返回用于此文件选择器的标题。如果为空,则为默认值 应使用标题


最后,通过发送控制台消息并使用kotlin中的OnConsolleMessage()捕获它来解决问题,但我们如何知道哪个按钮是pressed@ArshDoda尝试在Logcat中打印
getTitle()
方法的值,并告诉我结果在kotlin中,我用fileChooserParams.title调用它,它在这两个文件中都是空的cases@try要在html输入标记中指定alt和title并查看logcat值,其仍然为空。另一种方法是使用fileChooserParams.acceptTypes