Posted in

Android webview: не грузит сайт или белый экран. Решение

Как решить проблему белого экрана в приложениях webview на android
Как решить проблему белого экрана в приложениях webview на android

Накопилось очень много заметок по android studio, в частности разработке webview-приложений для android. Буду по чуть-чуть размещать. Стараться это делать 🙂

Сегодня хочу описать очень интересную и популярную ошибку – белый экран в webview или почему не грузится конкретный сайт.

Что делать если белый экран в приложении webview android studio?

Самая популярная ошибка – это отсутствие сертификата на сайте (https). Есть несколько решений, с помощью которых можно обращаться по http-протоколу и сайт будет грузится. Нужно добавить в manifest следующие строки:

android:usesCleartextTraffic="true"
Как решить проблему белого экрана в приложениях webview на android
Как решить проблему белого экрана в приложениях webview на android

Вторая причина почему белый экран в webview – это самоподписанный сертификат. И тут палка двух концов: проблема решается, с другой стороны – при загрузке в play google Вам пришлют предупреждение.

Как решить проблему самоподписанного сертификата в webview

Достаточно в java класс добавить функцию onReceivedSslError:

@Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError er) {
            handler.proceed();
            // Ignore SSL certificate errors
        }

Это будет игнорировать ошибки сертификата. Но при загрузке в маркет Вам пришлют предупреждение об уязвимости (само приложение могут пропустить).

Как решить проблему ssl при загрузке на play google

Только выпуском “нормального” ssl. Подойдет бесплатный lets encrypt. По-другому никак, и код onReceivedSslError лучше убрать. Тогда предупреждения от google не будет.

Еще ошибка сертификата будет при размещении ссылки на политику конфиденциальности в facebook. В общем, если на этом домене есть страница и ее хотите добавить куда-то, то часто будете сталкиваться с таким предупреждением.

Выпуск “правильного” сертификата решит любые проблемы. Если он не нужен, планируете использовать приложение в ограниченном кругу, без размещения на маркете – тогда поможет onReceivedSslError.

P.S. Очень много заметок и рабочие шаблоны webview есть. Даже под дейтинг, гемблинг, с клоакой через сайт или приложение. Если интересно – пишите, буду публиковать части кода, разбирать нюансы, решение ошибок.

Целый шаблоны бесплатно не просите. Можете купить у меня исходники проектов android studio за 40 тыс руб. Под заказ для гемблинга с клоакой в маркет – не делаю.

Leave a Reply

Your email address will not be published. Required fields are marked *