2015-05-28 3 views
1

У меня проблема с тем, что на одном из моих тестовых планшетов Android (под управлением Android 4.4.2) есть NetworkInterface.isUp(), возвращающий false. Кроме того, NetworkInterface.getInetAddresses() возвращает пустой Enumeration<InetAddress>. Странно, я имеют доступ в Интернет, и когда я смотрю информацию о сети Wi-Fi, устройство получило IP-адрес.NetworkInterface.isUp() возвращает false

На другом устройстве (под управлением Android 4.2.2) никаких проблем не сообщается.

Так вот мои два вопроса:

  1. Что именно представляет собой интерфейс включался? Документы очень кратко об этом.

    Возвращает true, если этот сетевой интерфейс завершен.

    Я имею в виду, что случилось? - буквально.

  2. Что является (причиной) проблемы и как я могу ее исправить?

+0

Вы уверены, что используете подходящий экземпляр 'NetworkInterface'? Их может быть больше одного. – CommonsWare

+0

Вы добавили свой манифест '' 'android.permission.ACCESS_NETWORK_STATE' '' разрешение? –

+0

Да! Я добавил все разрешения, связанные с Интернетом и сетью, чтобы убедиться, что это не проблема. –

ответ

0

Интерфейс, являющийся «вверх», заключается в том, что сетевой интерфейс имеет открытое соединение. Общие интерфейсы являются "вверх" являются:

  • Интерфейс вот (будучи локальный, 127.0.0.1 или :: 1).
  • В настоящее время активный сетевой интерфейс. Например, wlan0, если Wi-Fi активен.

Как это работает, так выглядит следующим образом. Возможно, у вас несколько сетевых интерфейсов. Все сетевые интерфейсы доступны через NetworkInterface.getNetworkInterfaces(). Каждый из этих сетевых интерфейсов связан с одним или несколькими адресами (например, ваше основное устройство wifi, обычно называемое wlan0, может иметь как IPv4, так и IPv6-адрес). Эти адреса доступны через

Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces(); 
NetworkInterface ni = nis.nextElement(); 
Enumeration<InetAddress> addresses = ni.getInetAddresses(); 

Вы должны проверить, является ли вы случайно ссылкой на локальный хост, что (почти) всегда, или другой интерфейс, который до.

 Смежные вопросы

  • Нет связанных вопросов^_^