Мы разрабатываем программное обеспечение на пользовательской платформе Android, и мы начинаем получать жалобы от клиентов о состоянии Wi-Fi-соединения. Кажется, что время от времени они теряют соединение Wifi в течение 1-2 секунд, а затем автоматически возвращается. Они могут заметить это из небольшой обратной связи с графическим интерфейсом или из события разъединения/повторного подключения, выданного клиентом XMPP.Android: Как предотвратить разрыв Wi-Fi при обновлении DHCP?
После исследования мы обнаружили, из журнала в adb logcat
, что Wi-Fi меняет свое состояние от CONNECTED
до CONNECTING
каждый раз, когда есть обновление DHCP. Поскольку у нас в настоящее время время аренды DHCP составляет 1 час, наша платформа пытается обновить свой адрес каждые 29 минут. Вот выдержка из журнала возобновления DHCP:
[ 11-24 10:10:11.751 2629: 3350 D/DhcpStateMachine ]
DHCP renewal on wlan0
[ 11-24 10:10:12.351 2629: 3350 D/DhcpStateMachine ]
DHCP succeeded on wlan0
[ 11-24 10:10:12.361 2877: 2877 D/DCT ]
onReceive: action=android.net.wifi.STATE_CHANGE
[ 11-24 10:10:12.361 2877: 2877 D/DCT ]
NETWORK_STATE_CHANGED_ACTION: mIsWifiConnected=false
[ 11-24 10:10:12.361 2877: 2877 D/DCT ]
NETWORK_STATE_CHANGED_ACTION: networkInfo=NetworkInfo: type: WIFI[], state: CONNECTING/VERIFYING_POOR_LINK, reason: (unspecified), extra: "XXX", roaming: false, failover: false, isAvailable: true
[ 11-24 10:10:12.371 2877: 2877 D/DCT ]
onReceive: action=android.net.wifi.STATE_CHANGE
[ 11-24 10:10:12.371 2877: 2877 D/DCT ]
NETWORK_STATE_CHANGED_ACTION: mIsWifiConnected=false
[ 11-24 10:10:12.371 2877: 2877 D/DCT ]
NETWORK_STATE_CHANGED_ACTION: networkInfo=NetworkInfo: type: WIFI[], state: CONNECTING/CAPTIVE_PORTAL_CHECK, reason: (unspecified), extra: "XXX", roaming: false, failover: false, isAvailable: true
[ 11-24 10:10:12.381 2877: 2877 D/DCT ]
onReceive: action=android.net.wifi.STATE_CHANGE
[ 11-24 10:10:12.381 2877: 2877 D/DCT ]
NETWORK_STATE_CHANGED_ACTION: mIsWifiConnected=true
[ 11-24 10:10:12.381 2877: 2877 D/DCT ]
NETWORK_STATE_CHANGED_ACTION: networkInfo=NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: "XXX", roaming: false, failover: false, isAvailable: true
Как я мог предотвратить состояние соединения для перехода от CONNECTED
к CONNECTING
при использовании DHCP? Могу ли я изменить настройку где-нибудь, чтобы изменить это поведение?
Какая версия Android работает на пораженном устройстве? – atok
Это версия 4.3 – slaadvak
Я ожидал этого: https://www.net.princeton.edu/android/android-stops-renewing-lease-keeps-using-IP-address-11236.html, но он затронул гораздо более старые устройства. – atok