Доброго дня! Вопрос собственно простой. Изучаю программирование под Андроид. Запилил простую программу:
int timeout = 2000;
InetAddress[] addresses = InetAddress.getAllByName(String.valueOf(ad.getText()));
for (InetAddress address : addresses)
{
if ( address.isReachable(timeout))
{
info.setText("OK"); // just set a break point here
} else {
info.setText("NOT OK");
}
}
Всё собирается и устанавливается без проблем (Уже!!!), но есть одна непонятка - программа пингует только внутренние IP! Т. е. 127.0.0.1, localhost, шлюз по умолчанию (192.168.1.1) и второй роутер (192.168.1.2), сам телефон по адресу выданному DHCP (192.168.1.204) - пингуются без проблем, но, скажем, 8.8.8.8, yandex.ru, и прочие заведомо доступные для ICMP не пингуются! Такое впечатление, что где-то какие-то настройки подкрутить надо! Функция isReachable не пингует нормально внешние IP! Почему?
UPD1: Поведение программы одинаково и в эмуляторе и на железе. В манифесте есть строки разрешающие Интернет использовать.