Я пытаюсь написать часть в своем приложении, которая будет различать соединение Active Wifi и фактическое подключение к Интернету. Обнаружение активного соединения Wifi довольно просто с использованием диспетчера подключений, но каждый раз, когда я пытаюсь проверить, могу ли я подключиться к веб-сайту при подключении Wi-Fi, но нет подключения к Интернету, я заканчиваю бесконечный цикл. < ш > Я попытался выполнить ping google, но это заканчивается тем же образом:
Process p1 = java.lang.Runtime.getRuntime().exec("ping -c 1 www.google.com");
int returnVal = 5;
try {
returnVal = p1.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
boolean reachable = (returnVal==0);
return reachable;
Я также пробовал этот код:
if (InetAddress.getByName("www.xy.com").isReachable(timeout))
{ }
else
{ }
но я не мог получить isReachable для работы.