网络连接评分机制之再谈WIFI与数据切换过程(原)

本文深入探讨了网络评分机制在WIFI与数据切换过程中的作用。当用户连接上WIFI时,系统如何判断并切换网络,涉及WIFI状态机、NetworkAgent、ConnectivityService和NetworkFactory等组件的交互。通过对分值的比较和更新,最终实现从数据网络到WIFI的平滑切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        前面几节介绍了网络评分机制的运行流程,下面我们再次通过案例来梳理一下评分机制在使用过程中的体现。
        用户原本在用数据上网,但是如果到了一个有WIFI的环境,并连接上了WIFI,此时用户的手机将会自动断开数据网络,这是如何做到的呢?
        当用户来到WIFI环境时,如果连上了某个WIFI,那么此时的WIFI状态机将会进入L2ConnectedState状态,然后会更新当前NetworkInfo状态为CONNECTING状态,并用该NetworkInfo创建WIFI的NetworkAgent对象,同时标明当前WIFI分值为60。即:
            mNetworkAgent = new WifiNetworkAgent(getHandler().getLooper(), mContext, "WifiNetworkAgent", mNetworkInfo, mNetworkCapabilitiesFilter, mLinkProperties, 60);
        然后在NetworkAgent初始化过程中将会向ConnectivityService注册,然后ConnectivityService就会创建WIFI的NetworkAgentInfo对象:
            NetworkAgentInfo nai = new NetworkAgentInfo(messenger, new AsyncChannel(),
                new NetworkInfo(networkInfo), new LinkProperties(linkProperties),
                new Networ
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值