android webview弹框问题,在app里new了一个webview,进入到网页的时候,不让他用浏览器打开而且webview打开网页,这时候问题来了,我的webview是百度云的地址,里面有一个上传的功能,这时候点击上传不弹出上传的功能弹窗了(如果用浏览器打开就可以弹出上传的功能弹窗)。有没有遇到过怎么解决?
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
webView.setWebChromeClient(new WebChromeClient(){});
webView.setWebViewClient(new WebViewClient());
需要重新定义一个webChromeClient,来监听不同API版本的获得本地图片功能,代码如下:
private class MyWebChromeClient extends WebChromeClient {
private Bitmap mDefaultVideoPoster;
private View mVideoProgressView;
// For Android 3.0+
public void openFileChooser(ValueCallback<Uri> uploadMsg) {
listener.showConfirmDialog(uploadMsg);
/*
* 选择文件上传 浏览本地的文件系统 Intent i = new
* Intent(Intent.ACTION_GET_CONTENT);
* i.addCategory(Intent.CATEGORY_OPENABLE); i.setType("image/*");
* CMYWebActivity
* .this.startActivityForResult(Intent.createChooser(i,
* "File Chooser"), FILECHOOSER_RESULTCODE);
*/
}
// For Android 3.0+
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType) {
listener.showConfirmDialog(uploadMsg);
}
// For Android 4.1
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture) {
listener.showConfirmDialog(uploadMsg);
}