背景
維護一個老的專案,突然上報了很多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);
}
}
}
});複製程式碼