若url为下载apk的链接时,形如https://resource.xxx.net/download/resource/123.apk
在WebView的shouldOverrideUrlLoading()方法里要调用系统默认浏览器处理该url
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//本方法的目的是判断新网页的打开方式,当一个新的请求地址在页面发起时,
//由APP自行决定是在手机浏览器打幵还是继续在WebView中打开。
//返回true,说明不让WebView处理,自己在代码里处理
//返回false,表示由WebView处理该url
Log.d(TAG, "shouldOverrideUrlLoading: url = " + url);
if (!TextUtils.isEmpty(url) && url.contains("/download/") && url.contains(".apk")) {
//自己处理:调用系统默认浏览器处理url
view.stopLoading();
view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
}
return false;
}