Android - В чем разница между WifiManager disableNetwork() и disconnect()

В чем главное отличие WifiManager? disableNetwork() а также disconnect() метод?

Если я не угадаю неправильно, disconnect() метод делает его кандидатом на переподключение, когда он входит в видимость точки доступа Wi-Fi, но disableNetwork() нет.

public boolean disableNetwork (int netId). Отключить настроенную сеть. Указанная сеть не будет кандидатом на связывание. Это может привести к асинхронной доставке событий изменения состояния.

public boolean disconnect () Отключить от текущей активной точки доступа. Это может привести к асинхронной доставке событий изменения состояния.

У меня есть устройство Wiko Darkmoon (Android 4.2.2) для тестирования и когда я звоню disconnect() Через несколько секунд он снова подключается к той же точке Wi-Fi, не принимая во внимание сети с более высоким приоритетом и качество сигнала.

Итак, мои вопросы:

  • В чем разница между disableNetwork() а также disconnect() метод?
  • Это мое предположение, верно?
  • Правильно ли реализовано в Wiko или оно дает сбой?
  • При роуминге между двумя точками Wi-Fi с одинаковым SSID и после звонка disconnect() это будет фильтровать по SSID или MAC для повторного подключения?

Спасибо

1 ответ

Решение

disconnect() как следует из названия, просто отключает устройство от текущей сети Wi-Fi. Если позднее устройство подключается к той же или другой сети, это зависит от настроек устройства и совершенно не связано с вызовом метода.

disableNetwork(int) запретит автоматическое подключение к указанной сети.

Другие вопросы по тегам