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中找到
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |