WebView: код состояния 404, даже если страница нормально загружается в браузере - PullRequest
0 голосов
/ 04 октября 2018

В моем приложении есть WebView, в котором я переопределил следующий метод, и всякий раз, когда возникает ошибка 404, я загружаю другой URL-

public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
            super.onReceivedHttpError(view, request, errorResponse);
            //load another url
        }

Проблема, с которой я сталкиваюсь, заключается в том, что первый URL возвращает 404 изатем в этом блоке загружается второй URL.

Но этот блок вызывается снова и снова, даже когда страница существует и нормально работает в браузере.

Я нашел некоторый намек из этого ответа но не понял, как с этим справиться.Есть ли способ узнать, что код состояния 404 получен, когда вся веб-страница не найдена или когда какой-либо элемент на веб-странице не найден.

1 Ответ

0 голосов
/ 03 марта 2019

Как упомянуто в этом ответе - Android WebView: onreceivedHttpError statusCode == 404 .Обратный вызов onReceivedHttpError будет вызываться для любого ресурса (iframe, изображения и т. Д.), А не только для главной страницы.Таким образом, рекомендуется выполнять минимально необходимую работу в этом обратном вызове.Я просто удалил этот обратный вызов, и теперь мое приложение работает хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...