在我们日常开发中,会遇到需要下载通过webView加载的文件链接,但是,当我们点击链接的时候可能没有反应,因为我们的WebView不支持下载功能的,所以点击无反应,但是,WebView提供了一个点击下载的监听接口:DownloadListener,通过设置这个监听,当我们点击链接时,可以自定义我们的事件,如果自己需要处理下载,拿到url之后可以进行下载,如果自己不进行下载,可以跳转外部浏览器进行下载。以下是使用步骤:
1.设置监听
webView.setDownloadListener(new MyDownLoadListener(this));
2.在监听器中拿到url,自定义操作事件
public class MyDownLoadListener implements DownloadListener {
private Context mContext;
public MyDownLoadListener(Context context) {
this.mContext = context;
}
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
mContext.startActivity(intent);
}
}
在onDownloadStart中监听我们的下载事件,这样可以下载文件了。