java – DetailedState.VERIFYING_POOR_LINK代表什么
|
在Juice中,枚举DetailedState添加了一个名为的新状态 /** Link has poor connectivity. */
VERIFYING_POOR_LINK
但这个州的立场是什么? 搜索完整个项目后,我发现了这个: WifiStateMachine.java中的子类VerifyingLinkState class VerifyingLinkState extends State {
@Override
public void enter() {
if (DBG) log(getName() + "n");
EventLog.writeEvent(EVENTLOG_WIFI_STATE_CHANGED,getName());
setNetworkDetailedState(DetailedState.VERIFYING_POOR_LINK);
mWifiConfigStore.updateStatus(mLastNetworkId,DetailedState.VERIFYING_POOR_LINK);
sendNetworkStateChangeBroadcast(mLastBssid);
}
@Override
public boolean processMessage(Message message) {
switch (message.what) {
case WifiWatchdogStateMachine.POOR_LINK_DETECTED:
//stay here
break;
case WifiWatchdogStateMachine.GOOD_LINK_DETECTED:
try {
mNwService.enableIpv6(mInterfaceName);
} catch (RemoteException re) {
loge("Failed to enable IPv6: " + re);
} catch (IllegalStateException e) {
loge("Failed to enable IPv6: " + e);
}
setNetworkDetailedState(DetailedState.CONNECTED);
mWifiConfigStore.updateStatus(mLastNetworkId,DetailedState.CONNECTED);
sendNetworkStateChangeBroadcast(mLastBssid);
transitionTo(mConnectedState);
break;
default:
return NOT_HANDLED;
}
return HANDLED;
}
}
在验证链接状态时,在enter()函数中,它将DetailedState设置为 DetailedState.VERIFYING_POOR_LINK 当连接真的很好时,这将导致用户对如下图所示的状态消息感到困惑. 虽然此消息只停留一段时间,然后迅速替换为“已连接”.但这个州的目标是什么?如果我没有在enter()函数中将DetailedState设置为VERIFYING_POOR_LINK,会有什么风险. 解决方法验证某些三星设备的VERIFYING_POOR_LINK是Wi-Fi智能网络交换机的一部分,如果出现状况不佳,可以允许移动数据通过Wi-Fi保持连接.对于三星设备,当您看到详细状态时,请从CONNECTED转到VERIFYING_POOR_LINK.大多数逻辑可以在:http://androidxref.com/4.3_r2.1/xref/frameworks/base/wifi/java/android/net/wifi/WifiWatchdogStateMachine.java中找到
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
