有没有办法在WebView中设置超时值? 如果网址太慢而无法响应,我希望WebView被超时。Android WebView TimeOut
16
A
回答
12
您可以通过设置一个定时器来调用getProgress()来检查当前页面的进度,如果它在某个指定时间之后小于某个阈值,那么您可以关闭当前页面的加载。
+1
所以你的意思是我添加计时器,并通过调用getProgress(查看当前页面的进度),如果不是100但我可以调用stopLoading()。 – user430926 2010-11-29 11:04:29
5
我们可以使用onLoadResource
方法WebViewClient
而不是Timer
。就像这样:
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressDialog.show();
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.d("WEBCLIENT", "onPageFinished");
}
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
Log.d("WEBCLIENT","onLoadResource");
if(webView.getProgress() == 100) {
progressDialog.dismiss();
}
}
}
+0
我不认为这将工作,如果Web视图完全卡住。 – 2016-09-21 18:34:04
这shud帮助http://stackoverflow.com/a/7772884/169630 – 2012-04-12 06:02:34