Как определить, что точка доступа WiFi только что потеряла интернет-соединение в Android - PullRequest
0 голосов
/ 02 октября 2018

Я искал способ отреагировать на случай, когда:

  • Я подключен к WiFi
  • точка доступа только что потеряла подключение к Интернету (например, кабель от маршрутизатора имеетбыл удален)

В таких случаях телефоны Android или ноутбуки уведомляются об этом состоянии и с восклицательным знаком рядом со значком WiFi.

Можно ли получать уведомления об этом состояниив Android API?Я искал в документации, но ничего не нашел.

ВАЖНОЕ ПРИМЕЧАНИЕ: Я не просто проверяю интернет-соединение вручную или просто прислушиваюсь к изменению состояния сетевого соединения, так как я не буду уведомленкогда точка доступа WiFi, к которой я подключен, потеряла соединение.

Итак, что касается вышеизложенного, я пытался просто проверить изменения сетевого подключения, но, как я объяснил, этого недостаточно для моего случая:

override fun onReceive(context: Context, intent: Intent) {
val wifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, 
DEFAULT_WIFI_STATE_VALUE)
wifiStateSubject.onNext(wifiState)
Timber.d("Current wifi state: $wifiState")
}

1 Ответ

0 голосов
/ 02 октября 2018

Вы можете периодически пытаться получить доступ к какому-либо ресурсу с низким пингом и низкой скоростью ожидания, и если он вызывает какое-то исключение NetworkException, вы можете предположить, что соединение недоступно.

UPD:

Вы можете использовать или проверить эту библиотеку https://github.com/pwittchen/NetworkEvents

...