WebView как отловить "Веб страница недосупна?"

Ответить
bydirect
Сообщения: 70
Зарегистрирован: 11 июн 2014, 10:36

WebView как отловить "Веб страница недосупна?"

Сообщение bydirect » 20 июн 2014, 10:42

Добрый день. Делаю приложение на основе WebView. Есть проверка на подключение к интернету, по результатам которой решается открывать сайт в вебвью или нет.
Но что делать если проверка пройдена, сайт открылся, но во время его использование пропадает соединение (открывается "Веб-страница недоступна")? Как можно вообще отловить данные ошибки или же сменить страницы с ошибками на свои? Не хочется чтоб пользователь видел пути до скриптов, и вообще понимал что это сайт.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: WebView как отловить "Веб страница недосупна?"

Сообщение altwin » 20 июн 2014, 10:50

bydirect писал(а):Добрый день. Делаю приложение на основе WebView. Есть проверка на подключение к интернету, по результатам которой решается открывать сайт в вебвью или нет.
Но что делать если проверка пройдена, сайт открылся, но во время его использование пропадает соединение (открывается "Веб-страница недоступна")? Как можно вообще отловить данные ошибки или же сменить страницы с ошибками на свои? Не хочется чтоб пользователь видел пути до скриптов, и вообще понимал что это сайт.
Проверяйте код ответа сервера во время проверки подключения, если 404 или другие - грузите страницу ошибок из assets. Вообще это все задача сервера, но никто вам не мешает проверять или подменять результаты из своих ресурсов.
Изображение

bydirect
Сообщения: 70
Зарегистрирован: 11 июн 2014, 10:36

Re: WebView как отловить "Веб страница недосупна?"

Сообщение bydirect » 20 июн 2014, 11:05

Спасибо за ответ. Но что делать если соединение пропало во время того как в вебвью уже загружен сайт, пользователь делает клик по кнопке, и ответ сервера я уже не могу получить? Тут надо изменить именно стандартную страницу браузера вызываемую при отсутствии соединения.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

Re: WebView как отловить "Веб страница недосупна?"

Сообщение altwin » 20 июн 2014, 11:11

bydirect писал(а):Спасибо за ответ. Но что делать если соединение пропало во время того как в вебвью уже загружен сайт, пользователь делает клик по кнопке, и ответ сервера я уже не могу получить? Тут надо изменить именно стандартную страницу браузера вызываемую при отсутствии соединения.
Браузер ничего не вызывает, он отвечает только за разбор и отображение документа.
можно что то в таком роде сделать:
[syntax=java5]
myWebView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
myWebView.loadUrl("file:///android_asset/custom_url_error.htm");

}
});
[/syntax]
Изображение

bydirect
Сообщения: 70
Зарегистрирован: 11 июн 2014, 10:36

Re: WebView как отловить "Веб страница недосупна?"

Сообщение bydirect » 20 июн 2014, 11:19

Огромное спасибо! То что нужно.

Ответить