Android 9.0 Wifi连接AP后显示IP地址流程

这一篇分析Wifi连接AP后显示IP地址流程,AP连接成功后wpa_supplicant会上报连接状态到SupplicantStaIfaceHal。所以就从SupplicantStaIfaceHal开始。

1 SupplicantStaIfaceHal.java

收到状态改变后通过WiFiMonitor上报的事件

2 wifiMonitr.java

这里是发送消息NETWORK_CONNECTION_EVENWifiStateMachine接收处理消息。

3 WifiStateMachine.java

方法中更新了Wifi的状态信息NetworkInfo,然后发送广播WifiManager.NETWORK_STATE_CHANGED_ACTION

我们这里主要看下最后的代码。切换到mObtainingIpState状态机

这里执行更新系统的State,清掉bssid以避免其影响到漫游导致断链,停掉当前IpClient,启动新的IpClient获取IP。最后回调IpClient.Callback.onProvisioningSuccess接口。

发送消息CMD_IP_CONFIGURATION_SUCCESSFUL。L2ConnectedState处理消息CMD_IP_CONFIGURATION_SUCCESSFUL。

这里进入sendConnectedState()

这里执行了setNetworkDetailedState(DetailedState.CONNECTED);NetworkInfo状态置为CONNECTED状态

最后调用sendNetworkStateChangeBroadcast(mLastBssid)发送广播通知页面更新显示IP信息。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值