方法如下:
在自定义的WebChromeClient中实现如下方法(主要是为了保证不同android版本上的兼容性):
|
并配置proguard保证其不被混淆掉。
在openFileChooser中使用如下Intent调用系统文件浏览器:
|
然后:
|
在主Activity的onActivityResult()中
调用ValueCallback
但是问题还是来了,这样做了之后在4.4系统上WebView不会回调openFileChooser方法导致没法显示出选择文件的Activity。
另外对于选择文件的应用也不能假定所有的Android系统上都有。
所以终极解决方案就是拥有自主可控的WebView。