Android 12 引入了 Wi-Fi AP/AP 并发功能,允许设备创建两个接入点 (AP) 接口。借助此功能,设备可以通过双频同步 (DBS) Wi-Fi 热点(软 AP)支持网络共享。如需详细了解如何通过单个 Wi-Fi 热点支持网络共享,请参阅 Wi-Fi 热点(软 AP)支持。
本页介绍了启用此功能时设备的行为,以及设备制造商和供应商的实现详情。
运作方式
如果 Wi-Fi AP/AP 并发受支持,设备可以创建两个 AP 接口,例如,一个接口用于 2.4 GHz 频段,另一个接口用于 5 GHz 频段。之后,客户端可以连接到每个 AP 接口。
Wi-Fi HAL 生成具有两个 AP 接口的单个桥接接口,并在堆栈启用软 AP 后将其公开给 Wi-Fi 和连接堆栈。启用软 AP 后,Wi-Fi HAL 会指明两个接口可用,并为每个 AP 更新信息(如操作通道、带宽和 BSSID)。
为了节省电量,框架会在处于非活动状态一段时间后停用未使用的 AP(2.4 GHz、5 GHz 或 6 GHz)。如果未连接客户端,框架会将 AP 视为非活动状态。设备制造商可以自定义此非活动时段的长度。如需了解详情,请参阅自定义非活动时段。
设备通过使用以下某个桥接软 AP 配置来支持 Wi-Fi AP/AP 并发功能:
- 配置两个频段(框架或驱动程序会自动选择相应通道)
- 在双频 AP 上配置两个通道
要求
如需实现 Wi-Fi AP/AP 并发,设备必须满足以下要求:
Wi-Fi 芯片或固件必须支持两个并发 AP 连接。固件必须支持两个连接的所有信道和频段组合。为避免出现性能问题,我们建议使用支持 2x2+2x2 DBS 的 Wi-Fi 芯片。
设备必须支持 Wi-Fi 供应商 HAL 中的以下方法:
IWifiChip.createBridgedApIface()
IWifiChip.removeIfaceInstanceFromBridgedApIface()
IWifiApIface.resetToFactoryMacAddress()
IWifiApIface.getBridgedInstances()
实现
如需实现 Wi-Fi AP/AP 并发,请执行以下操作:
使用运行时资源叠加层启用以下至少一个函数(默认情况下处于停用状态):
config_wifiBridgedSoftApSupported
:支持多个桥接 AP。config_wifiStaWithBridgedSoftApConcurrencySupported
:支持一个站点 (STA) 和多个桥接 AP 的并发。
对于使用 AIDL Wi-Fi HAL 或 HIDL Wi-Fi HAL 1.6 的设备,请在 Wi-Fi HAL 接口组合中定义
AP_BRIDGED
。如需了解详情,请参阅 Wi-Fi 多接口并发。通过调用以下方法之一来配置桥接软 AP 配置:
使用
WifiManager#registerSoftApCallback
注册回调以获取设备功能。SoftApCallback
回调为桥接软 AP 配置提供了以下方法:SoftApCallback#onInfoChanged
:提供有关正在运行的软 AP 实例的信息。SoftApCallback#onConnectedClientsChanged
:为软 AP 实例提供连接的客户端列表。
自定义非活动时段
如需自定义非活动时段的长度,请配置以下叠加层(位于 packages/modules/Wifi/service/ServiceWifiResources/res/values/config.xml
中):
config_wifiFrameworkSoftApShutDownIdleInstanceInBridgedModeTimeoutMillisecond
:默认的关闭超时时间间隔。仅在SoftApConfiguration#setBridgedModeOpportunisticShutdownEnabled
已启用的情况下有效。(在 Android 13 中推出)
config_wifiFrameworkSoftApDisableBridgedModeShutdownIdleInstanceWhenCharging
:指示是否在充电时停用非活动关闭计时器。