Ответ 1
По-видимому, это ошибка, и это было поднято.
public boolean requestRouteToHost (int networkType, int hostAddress)
Этот метод в ConnectivityManager, если он используется с сетевым интерфейсом, установленным на интерфейс wifi, всегда возвращает false.
requestRouteToHost android говорит, что он никогда не реализовывался для интерфейса wifi.
Даже InetAddress.isReachable() всегда возвращает false для публичных серверов, таких как google.com, java.com
Есть ли какая-то конкретная причина, почему они терпят неудачу? Единственный способ проверить, была ли связь, - выполнить "ping" с помощью runtime exec().
По-видимому, это ошибка, и это было поднято.
Это, по-видимому, исправлено в ICS. Мой 2.3 Desire терпит неудачу таким же образом, но мой 4.0.4 SGS2 получает успешный результат true
от requestRouteToHost через WiFi.