private void webViewListener() { webview.setWebViewClient( new WebViewClient() { // 加载失败 @Override public void onReceivedError( WebView view, int errorCode, String description, String failingUrl) { LogUtil.i( TAG, "加载失败===" + errorCode + "---" + description + "---" + failingUrl + "---"); current_url = failingUrl; webview.clearView(); if (failingUrl.contains("#")) { String[] temp; temp = failingUrl.split("#"); webview.loadUrl(temp[0]); try { Thread.sleep(400); } catch (InterruptedException e) { e.printStackTrace(); } webview.loadUrl(failingUrl); } else { webview.loadUrl("file:///android_asset/error.html#" + failingUrl); } ToastUtil.showMessage("页面加载失败,请点击重新加载"); // super.onReceivedError(view, errorCode, description, // failingUrl); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { /* * Toast.makeText(getApplicationContext(), * "WebViewClient.shouldOverrideUrlLoading", * Toast.LENGTH_SHORT); */ LogUtil.i(TAG, "拦截url---shouldOverrideUrlLoading-->" + url); if (url.startsWith("tel:")) { Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url)); startActivity(intent); } else { HashMap<String, String> hashmap = new HashMap<String, String>(); if (null != SharedPrefsUtil.getValue(Constants.TOKEN, null)) { hashmap.put("token", SharedPrefsUtil.getValue(Constants.TOKEN, null)); } webview.loadUrl(url, hashmap); } return true; } @Override public void onLoadResource(WebView view, String url) { // TODO Auto-generated method stub super.onLoadResource(view, url); } @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { isPageLoaded = false; LogUtil.i(TAG, "拦截url---onPageStarted-->" + url); HashMap<String, String> hashmap = new HashMap<String, String>(); if (null != SharedPrefsUtil.getValue(Constants.TOKEN, null)) { hashmap.put("token", SharedPrefsUtil.getValue(Constants.TOKEN, null)); } if (url.toLowerCase().contains("/login")) { Intent i11 = new Intent(); i11.setClass(WebViewActivity.this, LoginActivity.class); startActivity(i11); } super.onPageStarted(view, url, favicon); } @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); isPageLoaded = true; LogUtil.i(TAG, "页面加载完后==onPageFinished==" + url); myProgressDialog2.dismiss(); } }); }