Это правильный способ обнаружения подключения к сети WiFi? - PullRequest
1 голос
/ 04 мая 2011

Я делаю приложение для Android, на которое нужно реагировать, когда устройство подключается к сети WiFi, в настоящее время я пытаюсь реализовать его с помощью BroadcastReceiver для мониторинга android.net.ConnectivityManager.CONNECTIVITY_ACTION - вот так правильно, или есть способ, который был бы более уместным?

Ответы [ 2 ]

1 голос
/ 06 июля 2011

@ Jase, Вам необходимо зарегистрироваться, чтобы получить WifiManager.NETWORK_STATE_CHANGED_ACTION. Намерение имеет NetworkInfo дополнительно. Изучите его, чтобы найти его состояние. Если состояние NetworkInfo.State.CONNECTED, то вы подключены к сети.

Пример кода для достижения этой цели смотрите здесь .

0 голосов
/ 30 мая 2011

Посмотрите на WifiManager.WIFI_STATE_CHANGED_ACTION

Действие широковещательного намерения, указывающее, что Wi-Fi был включен, отключен, включен, отключен или неизвестен.Один дополнительный предоставляет это состояние как int.Еще один дополнительный элемент обеспечивает предыдущее состояние, если оно доступно.

и WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION

Действие широковещательного намерения, указывающее, что соединение с соискателем было установленоустановлено (и теперь можно выполнять операции Wi-Fi) или соединение с соискателем было потеряно.Один дополнительный предоставляет состояние соединения в виде логического значения, где true означает CONNECTED.

Чтение из трансляции или проверка, когда вы получаете любой из них, например:

WifiManager wifi=(WifiManager) context.getSystemService(Context.WIFI_SERVICE);
int state=wifi.getWifiState();

СейчасВы можете проверить состояние , это будет один из

  • WIFI_STATE_DISABLED
  • WIFI_STATE_DISABLING
  • WIFI_STATE_ENABLED <- сэто вы можете отправлять / получать данные </li>
  • WIFI_STATE_ENABLING
  • WIFI_STATE_UNKNOWN
...