Вопрос

Есть ли способ установить значение времени ожидания в WebView? Я хочу, чтобы веб-просмотр, чтобы получить тайм-аутент, если URL слишком медленно, чтобы ответить.

Это было полезно?

Решение

Вы можете сделать это, настроив таймер, который проверяет прогресс текущей страницы, позвонив 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();
        }    
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top