参考博客: 三种方式让 Android WebView 支持文件下载.
首先我们要拦截页面,因为有些下载是先弹出页面,一个新的页面,然后才触发下载。那么在当前网页进行Downloader的监听就没有时弹出的页面进行拦截到webview中,这样setDownloadListener才能真的发挥作用
mWebView = (WebView) findViewById(R.id.myweb);
// 设置网页页面拦截
mWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
其次,设置下载监听,将要下载的相应信息进行拦截与捕捉
// 设置下载监听
mWebView.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
// downloadBySystem为调用系统下载器的处理逻辑
downloadBySystem(url,contentDisposition,m