web-dev-qa-db-ja.com

Android WebView TimeOut

WebViewでタイムアウト値を設定する方法はありますか? URLが遅すぎて応答できない場合は、WebViewをタイムアウトにします。

17
user430926

getProgress ()を呼び出すことで現在のページの進行状況をチェックするタイマーを設定することでそれを行うことができ、指定された時間後にしきい値未満の場合は、現在のページの読み込みを閉じることができます。

11
bhups

onLoadResourceの代わりにWebViewClientTimerメソッドを使用できます。このような:

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();
        }    
    }
}
5
John