【Android】Android_WIFI_MBB(Make Befor Break)梳理

梳理Android_WIFI_MBB(Make Befor Break)

触发MBB流程 和 解除MBB流程

目录

一、触发MBB(Make Befor Break)

二、解除MBB(Make Befor Break)


一、触发MBB(Make Befor Break)

硬件要求:
①设备是否支持至少两个并发的客户端模式管理器(STA + STA 并发)
②是否使能了mbb 的wifi切换


1、在连接一个接口为wlan0的wifi使用的过程中,wifi会不时的自我检查,在某个时间段遇到以下条件之一时,则会考虑触发MBB行为:
①当前连接的网络是OEM付费/专用网络(只对系统应用可用)
②当前连接的wifi没有互联网接入或预计没有互联网
③当前连接的网络链路质量不足,且流量低。(RSSI强度不足 && Tx或Rx流量低)

伴随Log:wlan0: Current connected network is not sufficient.
代码定位:WifiNetworkSelector.java -> isNetworkSufficient(WifiInfo wifiInfo)


2、程序过滤找出除了当前连接的AP,其他已保存最佳候选candidate网络AP。往下会走以下三个method的其中一个。
在触发连接candidate网络之前,先检查一下当前是否有已连接网路。
如果有,则会执行triggerConnectWhenConnected()方法去触发MBB。
如果没有的话,则会执行triggerConnectWhenDisconnected()方法进行单个AP连接。

Method:
①triggerConnectWhenDisconnected() //正常情况下当前没有网络连接时走该方法。
②triggerConnectWhenConnected() //触发MBB执行该方法===============
③triggerRoamWhenConnected()


3、发送CMD_REQUEST_ADDITIONAL_CLIENT_MODE_MANAGER消息,创建新的ClientModeManager,设置新的candidate网络的Role为ROLE_CLIENT_SECONDARY_TRANSIENT。随后去连接该新的网络。

伴随log:
Starting

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极音战歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值