我们正在开发一个定制的Android平台上的软件,我们开始收到客户关于Wifi连接状态的投诉。似乎偶尔会出现Wifi连接断开1-2秒钟,然后自动恢复的情况。他们可以从小型GUI反馈或从XMPP客户端发出的断开/重新连接事件中注意到这一点。
经过调查,我们从
经过调查,我们从
adb logcat
日志中发现每次进行DHCP续租时,Wifi都会从CONNECTED
状态更改为CONNECTING
状态。由于我们当前的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
在使用 DHCP 的过程中,我该如何防止连接状态从 CONNECTED
更改为 CONNECTING
?我能否更改某个设置以改变此行为?