通过 Android 8.0 中新增的 WLAN 感知功能,支持设备可以直接使用 WLAN 感知协议发现其他设备、与其他设备进行互连,以及将覆盖范围扩展到其他设备(Android 9 中新增的功能),而无需连接到互联网或移动网络。此功能是基于 Wi-Fi 联盟 (WFA) Wi-Fi 感知规范(2.0 版和 3.0 版)构建的,它支持在断开网络的情况下,在可信设备与应用之间轻松共享高吞吐量数据。
示例和来源
要使用此功能,设备制造商应采用在 Android 开源项目 (AOSP) 中提供的 WLAN 硬件接口设计语言 (HIDL)。HIDL 取代了之前使用的硬件抽象层 (HAL) 结构,以便通过指定收集到接口和软件包的类型和方法调用来简化实现流程。
借助 WLAN HIDL 使用 WLAN 感知功能:hardware/interfaces/wifi/1.2 或更高版本。WLAN 感知 HAL Surface 非常大;hardware/interfaces/wifi/1.2/README-NAN.md 文件描述了框架当前使用的子集。
实现
设备制造商需要提供框架和 HAL/固件支持:
框架:
AOSP 代码
启用感知功能:需要功能标记和 HIDL 编译标记
WLAN 感知 (NAN) HAL 支持(意味着固件支持)
为实现此功能,设备制造商需采用 Wi-Fi HIDL,另外还要启用两个功能标记:
在位于 device// 的 BoardConfig.mk 或 BoardConfig-common.mk 中,添加以下标记:
WIFI_HIDL_FEATURE_AWARE := true
在位于 device// 的 device.