openharmony 鸿蒙 capi-oh-wifi-h

2026-08-25 浏览 (1)

oh_wifi.h

概述

定义查询WIFI开关状态的接口。

引用文件: <ConnectivityKit/wifi/oh_wifi.h>

库: libwifi_ndk.so

系统能力: SystemCapability.Communication.WiFi.STA

起始版本: 13

相关模块: Wifi

汇总

宏定义

名称描述
WIFI_MAX_SSID_LEN 33OH_WifiLinkedInfo 成员变量ssid数组的长度(32 + \0)。
起始版本: 24
WIFI_MAC_LEN 18OH_WifiLinkedInfo 成员变量macAddress数组和bssid数组的长度(17 + \0)。
起始版本: 24

枚举

名称typedef关键字描述
Wifi_ResultCodeWifi_ResultCode定义WIFI接口返回值的错误码。
OH_WifiConnStateOH_WifiConnState定义WIFI连接状态。
OH_WifiChannelWidthOH_WifiChannelWidth定义当前连接热点的信道带宽。
OH_WifiStandardOH_WifiStandard当前连接热点的WIFI标准。
OH_WifiCategoryOH_WifiCategory热点支持的最高WIFI级别。
OH_WifiLinkTypeOH_WifiLinkTypeWIFI7连接类型。

结构体

名称描述
OH_WifiLinkedInfo提供WLAN连接的相关信息。可以获取当前设备已连接的WIFI热点的信息。

函数

名称描述
Wifi_ResultCode OH_Wifi_IsWifiEnabled(bool *enabled)查询WIFI开关是否开启。
Wifi_ResultCode OH_Wifi_GetDeviceMacAddress(char *macAddr, unsigned int *macAddrLen)该接口用于获取设备真实MAC地址。
Wifi_ResultCode OH_Wifi_GetLinkedInfo(OH_WifiLinkedInfo *info)该接口用于获取WIFI连接信息。

枚举类型说明

Wifi_ResultCode

enum Wifi_ResultCode

描述

定义WIFI接口返回值的错误码。

起始版本: 13

枚举项描述
WIFI_SUCCESS = 0操作成功。
WIFI_PERMISSION_DENIED = 201权限校验失败。
WIFI_INVALID_PARAM = 401参数错误。
可能原因:1.输入参数为空指针;2.参数数值超出定义范围。
WIFI_NOT_SUPPORTED = 801该功能不支持。由于设备能力有限,无法调用该函数。
WIFI_OPERATION_FAILED = 2501000操作失败。
可能原因:服务内部执行失败。
WIFI_STA_DISABLED = 2501001STA服务未拉起。
可能原因:WIFI未打开。
起始版本: 21

OH_WifiConnState

enum OH_WifiConnState

描述

WLAN连接状态。

起始版本: 24

枚举项描述
OH_WIFI_CONN_SCANNING = 0设备正在搜索可用的热点。
OH_WIFI_CONN_CONNECTING = 1正在建立WLAN连接。
OH_WIFI_CONN_AUTHENTICATING = 2WLAN连接正在认证中。
OH_WIFI_CONN_OBTAINING_IPADDR = 3正在获取WLAN连接的IP地址。
OH_WIFI_CONN_CONNECTED = 4WLAN连接已建立。
OH_WIFI_CONN_DISCONNECTING = 5WLAN连接正在断开。
OH_WIFI_CONN_DISCONNECTED = 6WLAN连接已断开。
OH_WIFI_CONN_SPECIAL_CONNECT = 7WLAN连接处于特殊状态。
OH_WIFI_CONN_UNKNOWN = 8WLAN连接建立失败。

OH_WifiChannelWidth

enum OH_WifiChannelWidth

描述

WLAN信道带宽。

起始版本: 24

枚举项描述
OH_WIFI_WIDTH_20MHZ = 020MHz信道带宽。
OH_WIFI_WIDTH_40MHZ = 140MHz信道带宽。
OH_WIFI_WIDTH_80MHZ = 280MHz信道带宽。
OH_WIFI_WIDTH_160MHZ = 3160MHz信道带宽。
OH_WIFI_WIDTH_80MHZ_PLUS = 4双80MHz信道带宽。
OH_WIFI_WIDTH_INVALID = 5无效的信道带宽。

OH_WifiStandard

enum OH_WifiStandard

描述

WIFI标准枚举。

起始版本: 24

枚举项描述
OH_WIFI_STANDARD_UNDEFINED = 0无效的WIFI标准。
OH_WIFI_STANDARD_11A = 1802.11a WIFI标准。
OH_WIFI_STANDARD_11B = 2802.11b WIFI标准。
OH_WIFI_STANDARD_11G = 3802.11g WIFI标准。
OH_WIFI_STANDARD_11N = 4802.11n WIFI标准。
OH_WIFI_STANDARD_11AC = 5802.11ac WIFI标准。
OH_WIFI_STANDARD_11AX = 6802.11ax WIFI标准。
OH_WIFI_STANDARD_11AD = 7802.11ad WIFI标准。

OH_WifiCategory

enum OH_WifiCategory

描述

WIFI类别枚举。

起始版本: 24

枚举项描述
OH_WIFI_CATEGORY_DEFAULT = 1默认类别。
OH_WIFI_CATEGORY_WIFI6 = 2WIFI6类别。
OH_WIFI_CATEGORY_WIFI6_PLUS = 3WIFI6+类别。
OH_WIFI_CATEGORY_WIFI7 = 4WIFI7类别。
OH_WIFI_CATEGORY_WIFI7_PLUS = 5WIFI7+类别。

OH_WifiLinkType

enum OH_WifiLinkType

描述

WIFI7连接类型。

起始版本: 24

枚举项描述
OH_WIFI_LINK_DISCONNECT = -1未连接。
OH_WIFI_LINK_DEFAULT_LINK = 0默认连接。
OH_WIFI_LINK_WIFI7_SINGLE_LINK = 1WIFI7单链连接。
OH_WIFI_LINK_WIFI7_MLSR = 2WIFI7 MLSR(Multi-Link Operation,多链路单射频)。
OH_WIFI_LINK_WIFI7_EMLSR = 3WIFI7 EMLSR(Enhanced Multi-Link Single Radio,增强型多链路单射频)。
OH_WIFI_LINK_WIFI7_STR = 4WIFI7 STR(Simultaneous Transmit and Receive,同时发送与接收)。
OH_WIFI_LINK_WIFI7_LEGACY = 5WIFI7 传统模式。

结构体说明

OH_WifiLinkedInfo

Struct OH_WifiLinkedInfo

描述

提供WLAN连接的相关信息。可以获取当前设备已连接的WIFI热点的信息。

起始版本: 24

名称类型只读可选说明
ssidchar[]热点的SSID(Service Set Identifier,服务集标识符),用于获取当前设备已连接的WIFI热点的公开名称(即无线网络的名称),编码格式为UTF-8。
长度 WIFI_MAX_SSID_LEN = 18。
bssidchar[]热点的BSSID(Basic Service Set Identifier,基本服务集标识符)即无线网络的MAC地址。如果应用已请求 ohos.permission.GET_WIFI_PEERS_MAC 权限,则返回的bssid为真实BSSID地址;否则为随机设备地址。
格式:"AA:BB:CC:DD:EE:FF"
最大长度 WIFI_MAC_LEN = 33。
rssiint32_t热点的信号强度(dBm)。RSSI(Received Signal Strength Indicator,接收信号强度指示)。
bandint32_tWLAN接入点的频段,1表示2.4GHZ;2表示5GHZ。
linkSpeedint32_tWLAN接入点的上行速度单位Mbps。
rxLinkSpeedint32_tWLAN接入点的下行速度单位Mbps。
maxSupportedTxLinkSpeedint32_t当前支持的最大上行速率单位Mbps。
maxSupportedRxLinkSpeedint32_t当前支持的最大下行速率单位Mbps。
frequencyint32_tWLAN接入点的频率,单位MHz。
isHiddenboolWLAN接入点是否是隐藏网络,true表示是隐藏网络,false表示不是隐藏网络。
isRestrictedboolWLAN接入点是否限制数据量,true表示限制,false表示不限制。
macTypeint32_tMAC地址类型。0 - 随机MAC地址,1 - 设备MAC地址。
macAddresschar[]设备的MAC地址。当macType为1时需要申请ohos.permission.GET_WIFI_LOCAL_MAC权限。
格式:"AA:BB:CC:DD:EE:FF"
长度 WIFI_MAC_LEN = 18。
ipAddressuint32_tWLAN连接的IP地址。
connStateOH_WifiConnStateWLAN连接状态。详情见OH_WifiConnState。
channelWidthOH_WifiChannelWidth当前连接热点的信道带宽。详情见OH_WifiChannelWidth。
wifiStandardOH_WifiStandard当前连接热点的WIFI标准。详情见OH_WifiStandard。
supportedWifiCategoryOH_WifiCategory热点支持的最高WIFI级别。详情见OH_WifiCategory。
isHiLinkNetworkbool热点是否支持hilink,true表示支持,false表示不支持。
wifiLinkTypeOH_WifiLinkTypeWIFI7连接类型。详情见OH_WifiLinkType。

函数说明

OH_Wifi_IsWifiEnabled()

Wifi_ResultCode OH_Wifi_IsWifiEnabled(bool *enabled)

描述

查询WIFI开关是否开启。

起始版本: 13

参数:

参数项描述
bool *enabled- bool类型的指针,用于接收WIFI开关状态值。
等于true表示WIFI开关开启,false表示WIFI开关关闭。
需要传入非空指针,否则会返回错误。

返回:

类型说明
Wifi_ResultCode返回操作结果,详细定义参见Wifi_ResultCode.
WIFI_SUCCESS 查询WIFI开关状态成功。
WIFI_INVALID_PARAM 入参为空指针。
WIFI_OPERATION_FAILED 服务内部执行错误。

OH_Wifi_GetDeviceMacAddress()

Wifi_ResultCode OH_Wifi_GetDeviceMacAddress(char *macAddr, unsigned int *macAddrLen)

描述

该接口用于获取设备真实MAC地址。

需要权限: ohos.permission.GET_WIFI_LOCAL_MAC 和 ohos.permission.GET_WIFI_INFO

起始版本: 21

参数:

参数项描述
char *macAddr设备MAC地址的字符数组,以'\0'结尾。
unsigned int *macAddrLen为macAddr字符数组分配的内存大小。

返回:

类型说明
Wifi_ResultCode返回操作结果,详细定义参见Wifi_ResultCode
WIFI_SUCCESS 成功获取设备MAC地址。
WIFI_PERMISSION_DENIED 权限拒绝。
WIFI_NOT_SUPPORTED 不支持该能力。
WIFI_INVALID_PARAM 输入参数macAddr是空指针。
WIFI_OPERATION_FAILED 内部执行失败。
WIFI_STA_DISABLED WIFI STA模式未启用。

OH_Wifi_GetLinkedInfo()

Wifi_ResultCode OH_Wifi_GetLinkedInfo(OH_WifiLinkedInfo *info)

描述

该接口用于获取WIFI连接信息。

说明:

  • 当macType是1(设备MAC地址),获取macAddress还需申请ohos.permission.GET_WIFI_LOCAL_MAC权限(API version 8-15仅面向系统应用开放。从API version 16开始,在PC/2in1设备上面向普通应用开放,在其余设备上仍仅面向系统应用开放),无该权限时,macAddress返回为空。
  • 如果应用申请了ohos.permission.GET_WIFI_PEERS_MAC权限,则返回结果中的bssid为真实bssid地址,否则为随机设备地址。

需要权限: ohos.permission.GET_WIFI_INFO

起始版本: 24

参数:

参数项描述
OH_WifiLinkedInfo *infoOH_WifiLinkedInfo类型的结构体。

返回:

类型说明
Wifi_ResultCode返回操作结果,详细定义参见Wifi_ResultCode
WIFI_SUCCESS 成功获取WIFI连接信息。
WIFI_PERMISSION_DENIED 权限拒绝。
WIFI_NOT_SUPPORTED 不支持获取连接信息。
WIFI_INVALID_PARAM 输入参数info是空指针。
WIFI_OPERATION_FAILED 内部执行失败。

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 js-apis-bluetooth-a2dp

openharmony 鸿蒙 js-apis-bluetooth-map

openharmony 鸿蒙 capi-oh-bluetooth-h

openharmony 鸿蒙 js-apis-nfcTag

openharmony 鸿蒙 js-apis-wifiManagerExt

openharmony 鸿蒙 js-apis-bluetooth-ble

openharmony 鸿蒙 errorcode-wifi

openharmony 鸿蒙 capi-bluetooth

openharmony 鸿蒙 js-apis-wifiext

openharmony 鸿蒙 js-apis-fusionConnectivity-partnerAgent-sys

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/VPlZ82dC