为什么android会在旧版本中隐藏此API?只有在/ 5.0以上他们引入了onShowFileChooser()方法,这意味着他们在5.0以下的网页浏览中不支持文件上传?
解决方法
> void openFileChooser(ValueCallback< Uri> uploadMsg)适用于Android 2.2(API级别8),最高可达Android 2.3(API级别10)
> openFileChooser(ValueCallback< Uri> uploadMsg,String acceptType)适用于Android 3.0(API级别11),最高可达Android 4.0(API级别15)
> openFileChooser(ValueCallback< Uri> uploadMsg,String acceptType,String capture)适用于Android 4.1(API级别16),最高可达Android 4.3(API级别18)
> onShowFileChooser(WebView webView,ValueCallback< Uri []> filePathCallback,WebChromeClient.FileChooserParams fileChooserParams)适用于Android 5.0(API级别21)及以上
您可以使用一个抽象出来的库,并在不同的平台级别上处理所有这些回调,以便它可以正常工作.例:
https://github.com/delight-im/Android-AdvancedWebView
您还可以查看源代码的完成情况:
它没有文档的事实只是意味着你不能依赖它.当它在Android 2.2中引入时,没有人知道它会在Android 4.4中停止工作,但你不得不接受它.