【发布时间】:2017-06-27 13:06:55
【问题描述】:
我浏览了在这里找到的所有相关帖子,但仍然无法正常工作。 我正在使用具有重定向的 URL(有时很多重定向)打开我的 WebView,我想知道加载何时真正完成(URL 完成加载,没有更多的重定向)。
有什么建议吗?
我读过的每篇文章都说要覆盖 shouldOverrideUrlLoading 但无论我做什么 shouldOverrideUrlLoading 都不会被调用。
我的代码:
mWebView = (WebView) findViewById(R.id.webview);
WebSettings settings = mWebView.getSettings();
settings.setLoadWithOverviewMode(true);
settings.setJavaScriptEnabled(true);
settings.setLoadsImagesAutomatically(true);
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);
mWebView.setWebViewClient(new MyWebViewClient());
mUrl = "http://cdn.something.com/something.html";
// mUrl = "https://www.google.com";
mWebView.loadUrl(mUrl);
public class MyWebViewClient extends WebViewClient {
public MyWebViewClient() {}
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
Log.d(TAG, "WebViewClient: shouldOverrideUrlLoading");
return false;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
Log.d(TAG, "WebViewClient: onPageStarted: url: " + url);
}
@Override
public void onPageFinished(WebView view, String url) {
Log.d(TAG, "WebViewClient: onPageFinished: url: " + url);
super.onPageFinished(view, url);
}
}
谢谢
【问题讨论】:
-
你试过onLoadResource方法了吗?
-
检查this 答案.. 你必须在
onPageStarted的WebViewClient方法中检查url 重定向是否完成... -
@555 永远不要仅仅因为您认为“URL”应该是大写字母就编辑源代码,因为这会破坏程序。请停止通过编辑使问题变得更糟,特别是如果您对所涉及的编程语言并不完美。 你在积极地伤害这个社区。
标签: android android-webview webviewclient