WebView onPageFinished вызывается, когда ошибка страницы недоступна. Решение?

У меня есть веб-представление, которое должно сделать LOG, когда вызывается onReceivedError (). Но проблема в том, что когда у меня очень плохое соединение с Wi-Fi (почти 100% -ная потеря), и веб-просмотр показывает ошибку страницы не доступной html, метод onPageFinished вызывается, а onReceivedError не вызывается

Как это можно решить? Я хочу, чтобы, когда страница недоступна, метод onReceivedError получает вызов!

webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); Log.d("WEBVIEw","ON PAGE FINISHED"); } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { Log.d("WEBVIEw","ON PAGE error"); } }); 

onPageFinished всегда запускается, даже если есть ошибка. Было бы здорово иметь метод под названием onPageSucceeded – но его довольно легко создать.

Создайте свойство в верхней части страницы private boolean webviewSuccess = true; а также

 @Override public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); Log.d("WEBVIEW","ON PAGE FINISHED"); if(webviewSuccess) { Log.d("WEBVIEW","ON PAGE SUCCEEDED"); } } @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { webviewSuccess = false; Log.d("WEBVIEW","ON PAGE error"); } 
Intereting Posts