Как я могу определить, когда устройство получает новый IP? - PullRequest
5 голосов
/ 23 декабря 2011

Для многоадресной рассылки я ищу простой способ определения, когда изменяется IP-адрес устройства Android. Как я могу это сделать?

Более конкретно, я хочу обнаружить:

  • Когда устройство подключается к новой сети Wi-Fi и получает IP-адрес от DHCP
  • Когда устройству по какой-либо причине требуется обновить IP

1 Ответ

5 голосов
/ 23 декабря 2011

Вы можете сделать это с помощью ConnectivityManager :

Вы можете использовать это для запроса текущего состояния соединения:

ConnectivityManager connMananger = (ConnectivityManager) 
            context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo netInfo = connMananger.getActiveNetworkInfo();

Текущий IP-адрес сетевых интерфейсов можно получить с помощью NetworkInterface.getNetworkInterfaces ()

И вы можете получать автоматическое уведомление о том, когда состояние соединения изменяется с помощью трансляции CONNECTIVITY_ACTION

...