WebViewでタイムアウト値を設定する方法はありますか? URLが遅すぎて応答できない場合は、WebViewをタイムアウトにします。
getProgress ()を呼び出すことで現在のページの進行状況をチェックするタイマーを設定することでそれを行うことができ、指定された時間後にしきい値未満の場合は、現在のページの読み込みを閉じることができます。
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();
}
}
}