android bug: WebView canGoBack()无法正常使用

bug现象:

点击返回键时,一直刷新界面并未关闭界面

bug原因:

按照逻辑判断WebView.canGoBack()一直返回true。然而Android8.0开始WebView的shouldOverrideUrlLoading返回值是false才会自动重定向,并且无需调用loadUrl,与8.0之前的效果刚好相反。

解决方法:

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
      //Android8.0以下的需要返回true 并且需要loadUrl;8.0之后效果相反
      if(Build.VERSION.SDK_INT < 26) {
		view.loadUrl(url);
        return true;
      } else {
      	return false;
      }
     
}

你可能感兴趣的:(web-入门)