Android не разрешает отдельный процесс в основной поток активности, и HTTP-соединение здесь является независимым потоком. По этой причине вы получаете " android.os.NetworkOnMainThreadException ".
Может возникнуть необходимость проверить фактическое подключение к Интернету перед отображением веб-просмотра для пользователя, потому что при отсутствии Интернета в веб-представлении отобразится ошибка Страница не найдена , чего обычно не показываешь.
Для проверки доступности Интернета можно использовать команду ping, но в случае Wi-Fi на сервере Wi-Fi можно отключить пинг, поэтому в этом случае вы используете HTTP-соединение для проверки состояния запроса.
Это может быть правильным подходом, если вы проверяете собственную URL-ссылку веб-просмотра, прежде чем показывать веб-просмотр пользователю. В этом случае вы можете использовать строгий режим Android, но не разрешать всю политику, потому что она вам не нужна.
Вы должны указывать политику сетевого доступа только для строгого режима. Просто добавьте следующую строку в ваш код, и вы не получите эту ошибку.
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitNetwork().build();
StrictMode.setThreadPolicy(policy);