![](/img/trans.png)
[英]Android : WebView onPageFinished not calling after shouldOverrideUrlLoading method in android 4.4
[英]android webview shouldOverrideUrlLoading is not calling
我正在嘗試在webview中加載URL,但未調用shouldOverrideUrlLoading
webview.setWebViewClient(new HelloWebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
// webview.loadUrl("http://www.google.com");
// webview.loadUrl("http://www.androidexample.com/media/webview/login.html");
webview.loadUrl(URL_TO_LOAD);
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webview.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
Log.d("URL!!!! ", url);
Log.d("message!!!! ", message);
// Log.d("URL!!!! ", url);
return super.onJsAlert(view, url, message, result);
// System.out.println("url = " + url);
}
});
這是我的課
private class HelloWebViewClient extends WebViewClient {
ProgressDialog progressDialog;
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
if (progressDialog == null) {
// in standard case YourActivity.this
progressDialog = new ProgressDialog(TestWv.this);
progressDialog.setMessage("Loading...");
progressDialog.show();
}
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
System.out.println("onPageFinished = ");
try {
if (progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
}
} catch (Exception exception) {
exception.printStackTrace();
}
}
}
如果我通過google.com,它就可以正常工作...。它可以正常地工作...但是,如果我通過我的URL,它不調用shouldOverrideUrlLoading或onPageFinished方法。
請幫忙...
嘗試通過以下方式禁用dom存儲:
webview.getSettings().setDomStorageEnabled(false);
看看是否應該立即調用shouldOverrideUrlLoading。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.