背景
维护一个老的项目,突然上报了很多webView加载不出来的bug。但是借了很多手机都不复现。后面有注意到google 更新过 Android system webview 的应用,从那以后bug就接踵而至。我就去更新了一个该应用到最新版,果然复现了。发现没有回调onPageFinished方法,导致没有停止加载的进度条,让客户误以为没有加载。
升级8.0以后,应该手机的android system webView都有过升级,所以几乎所有的手机都必现。
解决方法
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
if (newProgress == 100) {
if (v.findViewById(R.id.web_pb) != null) {
v.findViewById(R.id.web_pb).setVisibility(View.GONE);
}
}
}
});复制代码