Я видел, что система Android плохо себя ведет с роумингом Wi-Fi. У нас есть централизованная сеть Wi-Fi со многими точками доступа с SSID. Телефоны Android не будут перемещаться без проблем. Android-телефон пытается оставаться подключенным к точке доступа до тех пор, пока сигнал не достигнет нуля, даже если есть другие точки доступа (с тем же SSID) с хорошим сигналом! Когда сигнал равен нулю, наконец, он выполняет ассоциацию с другой точкой доступа (с хорошим сигналом). Но при таком поведении телефон теряет все TCP соединения!
Например:
- телефон подключен в WiFi к AP1
- телефон перемещается в здании и теперь слышит два сигнала от AP1 и от AP2.
- Когда сигнал от AP2 сильнее, чем сигнал от AP1, я хочу, чтобы телефон выполнял повторное связывание (не связывание) с AP2.
Идея такова:
- Выполните
WifiManager.startScan()
- Получить результаты
WifiManager.getScanResults()
- Найдите лучшую точку доступа в результатах
- Выполните повторное сопоставление с лучшей точкой доступа.
Повторяйте каждые 30 секунд.
Я говорю о реассоциации, потому что не хочу, чтобы телефон терял TCP-соединения.
Есть способ сделать это?
Спасибо, Сальво