HarmonyOS API:@ohos.wifiManager (WLAN)

joytrian
发布于 2023-4-7 16:01
浏览
0收藏

版本:v3.1 Beta

@ohos.wifiManager (WLAN)

更新时间: 2023-02-17 09:19


该模块主要提供WLAN基础功能、P2P(peer-to-peer)功能和WLAN消息通知的相应服务,让应用可以通过WLAN和其他设备互联互通。


说明

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import wifiManager from '@ohos.wifiManager';

wifi.isWifiActive9+

isWifiActive(): boolean

查询WLAN是否已使能。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型

说明

boolean

true:已使能, false:未使能。

wifi.scan9+

scan(): void

启动WLAN扫描。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.LOCATION

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

返回值:

类型

说明

boolean

true:扫描操作执行成功, false:扫描操作执行失败。

wifi.getScanResults9+

getScanResults(): Promise<Array<WifiScanInfo>>

获取扫描结果,使用Promise异步回调。

需要权限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)

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

返回值:

类型

说明

Promise< Array<​​WifiScanInfo​​> >

Promise对象。返回扫描到的热点列表。

wifi.getScanResults9+

getScanResults(callback: AsyncCallback<Array<WifiScanInfo>>): void

获取扫描结果,使用callback异步回调。

需要权限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback< Array<​​WifiScanInfo​​>>

回调函数。当成功时,err为0,data为扫描到的热点;否则err为非0值,data为空。

示例:

import wifi from '@ohos.wifi';

wifi.getScanInfos((err, result) => {
    if (err) {
        console.error("get scan info error");
        return;
    }

    var len = Object.keys(result).length;
    console.log("wifi received scan info: " + len);
    for (var i = 0; i < len; ++i) {
        console.info("ssid: " + result[i].ssid);
        console.info("bssid: " + result[i].bssid);
        console.info("capabilities: " + result[i].capabilities);
        console.info("securityType: " + result[i].securityType);
        console.info("rssi: " + result[i].rssi);
        console.info("band: " + result[i].band);
        console.info("frequency: " + result[i].frequency);
        console.info("channelWidth: " + result[i].channelWidth);
        console.info("timestamp: " + result[i].timestamp);
    }
});

wifi.getScanInfos().then(result => {
    var len = Object.keys(result).length;
    console.log("wifi received scan info: " + len);
    for (var i = 0; i < len; ++i) {
        console.info("ssid: " + result[i].ssid);
        console.info("bssid: " + result[i].bssid);
        console.info("capabilities: " + result[i].capabilities);
        console.info("securityType: " + result[i].securityType);
        console.info("rssi: " + result[i].rssi);
        console.info("band: " + result[i].band);
        console.info("frequency: " + result[i].frequency);
        console.info("channelWidth: " + result[i].channelWidth);
        console.info("timestamp: " + result[i].timestamp);
    }
});

WifiScanInfo9+

WLAN热点信息。

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

名称

类型

可读

可写

说明

ssid

string

热点的SSID,编码格式为UTF-8。

bssid

string

热点的BSSID。

capabilities

string

热点能力。

securityType

​WifiSecurityType​

WLAN加密类型。

rssi

number

热点的信号强度(dBm)。

band

number

WLAN接入点的频段。

frequency

number

WLAN接入点的频率。

channelWidth

number

WLAN接入点的带宽。

centerFrequency0

number

热点的中心频率。

centerFrequency1

number

热点的中心频率。如果热点使用两个不重叠的WLAN信道,则返回两个中心频率,分别用centerFrequency0和centerFrequency1表示。

infoElems

Array<​​WifiInfoElem​​>

信息元素。

timestamp

number

时间戳。

WifiSecurityType9+

表示加密类型的枚举。

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

名称

说明

WIFI_SEC_TYPE_INVALID

0

无效加密类型。

WIFI_SEC_TYPE_OPEN

1

开放加密类型。

WIFI_SEC_TYPE_WEP

2

Wired Equivalent Privacy (WEP)加密类型。

WIFI_SEC_TYPE_PSK

3

Pre-shared key (PSK)加密类型。

WIFI_SEC_TYPE_SAE

4

Simultaneous Authentication of Equals (SAE)加密类型。

WIFI_SEC_TYPE_EAP9+

5

EAP加密类型。

WIFI_SEC_TYPE_EAP_SUITE_B9+

6

Suite-B 192位加密类型。

WIFI_SEC_TYPE_OWE9+

7

机会性无线加密类型。

WIFI_SEC_TYPE_WAPI_CERT9+

8

WAPI-Cert加密类型。

WIFI_SEC_TYPE_WAPI_PSK9+

9

WAPI-PSK加密类型。

WifiInfoElem9+

WLAN热点信息。

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

名称

类型

可读

可写

说明

eid

number

元素ID。

content

Uint8Array

元素内容。

WifiChannelWidth9+

表示带宽类型的枚举。

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

名称

说明

WIDTH_20MHZ

0

20MHZ。

WIDTH_40MHZ

1

40MHZ。

WIDTH_80MHZ

2

80MHZ。

WIDTH_160MHZ

3

160MHZ。

WIDTH_80MHZ_PLUS

4

80MHZ+

WIDTH_INVALID

5

无效值

wifi.getScanResultsSync9+

getScanResultsSync(): Array<​​WifiScanInfo​​>

获取扫描结果,使用同步方式返回结果。

需要权限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)

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

返回值:

类型

说明

Array<​​WifiScanInfo​​>

扫描结果数组。

WifiDeviceConfig9+

WLAN配置信息。

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

名称

类型

可读

可写

说明

ssid

string

热点的SSID,编码格式为UTF-8。

bssid

string

热点的BSSID。

preSharedKey

string

热点的密钥。

isHiddenSsid

boolean

是否是隐藏网络。

securityType

​WifiSecurityType​

加密类型。

wifi.addCandidateConfig9+

addCandidateConfig(config: WifiDeviceConfig): Promise<number>

添加候选网络配置,使用Promise异步回调。

需要权限: ohos.permission.SET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

config

​WifiDeviceConfig​

WLAN配置信息。

返回值:

类型

说明

Promise<number>

Promise对象。表示网络配置ID。

wifi.addCandidateConfig9+

addCandidateConfig(config: WifiDeviceConfig, callback: AsyncCallback<number>): void

添加候选网络配置,使用callback异步回调。

需要权限: ohos.permission.SET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

config

​WifiDeviceConfig​

WLAN配置信息。

callback

AsyncCallback<number>

回调函数。当操作成功时,err为0,data为添加的网络配置ID,如果data值为-1,表示添加失败。如果操作出现错误,err为非0值。

wifi.removeCandidateConfig9+

removeCandidateConfig(networkId: number): Promise<void>

移除候选网络配置,使用Promise异步回调。

需要权限: ohos.permission.SET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

networkId

number

网络配置ID。

返回值:

类型

说明

Promise<void>

Promise对象。

wifi.removeCandidateConfig9+

removeCandidateConfig(networkId: number, callback: AsyncCallback<void>): void

移除候选网络配置,使用callback异步回调。

需要权限: ohos.permission.SET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

networkId

number

网络配置ID。

callback

AsyncCallback<void>

回调函数。当操作成功时,err为0。如果error为非0,表示处理出现错误。

wifi.getCandidateConfigs9+

getCandidateConfigs(): Array<​​WifiDeviceConfig​​>

获取候选网络配置。

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

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

返回值:

类型

说明

Array<​​WifiDeviceConfig​​>

候选网络配置数组。

wifi.connectToCandidateConfig9+

connectToCandidateConfig(networkId: number): void

连接到候选网络。

需要权限: ohos.permission.SET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

networkId

number

候选网络配置的ID。

wifi.getSignalLevel9+

getSignalLevel(rssi: number, band: number): number

查询WLAN信号强度。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

rssi

number

热点的信号强度(dBm)。

band

number

WLAN接入点的频段。

返回值:

类型

说明

number

信号强度,取值范围为[0, 4]。

wifi.getLinkedInfo9+

getLinkedInfo(): Promise<WifiLinkedInfo>

获取WLAN连接信息,使用Promise异步回调。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型

说明

Promise<​​WifiLinkedInfo​​>

Promise对象。表示WLAN连接信息。

wifi.getLinkedInfo9+

getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void

获取WLAN连接信息,使用callback异步回调。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

callback

AsyncCallback<​​WifiLinkedInfo​​>

回调函数。当获取成功时,err为0,data表示WLAN连接信息。如果error为非0,表示处理出现错误。

示例:

import wifi from '@ohos.wifi';

wifi.getLinkedInfo((err, data) => {
    if (err) {
        console.error("get linked info error");
        return;
    }
    console.info("get wifi linked info: " + JSON.stringify(data));
});

wifi.getLinkedInfo().then(data => {
    console.info("get wifi linked info: " + JSON.stringify(data));
}).catch(error => {
    console.info("get linked info error");
});

WifiLinkedInfo9+

提供WLAN连接的相关信息。

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

名称

类型

可读

可写

说明

ssid

string

热点的SSID,编码格式为UTF-8。

bssid

string

热点的BSSID。

rssi

number

热点的信号强度(dBm)。

band

number

WLAN接入点的频段。

linkSpeed

number

WLAN接入点的速度。

frequency

number

WLAN接入点的频率。

isHidden

boolean

WLAN接入点是否是隐藏网络。

isRestricted

boolean

WLAN接入点是否限制数据量。

macType9+

number

MAC地址类型。

macAddress

string

设备的MAC地址。

ipAddress

number

WLAN连接的IP地址。

connState

​ConnState​

WLAN连接状态。

ConnState9+

表示WLAN连接状态的枚举。

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

名称

说明

SCANNING

0

设备正在搜索可用的AP。

CONNECTING

1

正在建立WLAN连接。

AUTHENTICATING

2

WLAN连接正在认证中。

OBTAINING_IPADDR

3

正在获取WLAN连接的IP地址。

CONNECTED

4

WLAN连接已建立。

DISCONNECTING

5

WLAN连接正在断开。

DISCONNECTED

6

WLAN连接已断开。

UNKNOWN

7

WLAN连接建立失败。

wifi.isConnected9+

isConnected(): boolean

查询WLAN是否已连接。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型

说明

boolean

true:已连接, false:未连接。

wifi.isFeatureSupported9+

isFeatureSupported(featureId: number): boolean

判断设备是否支持相关WLAN特性。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

featureId

number

特性ID值。

返回值:

类型

说明

boolean

true:支持, false:不支持。

wifi.getIpInfo9+

getIpInfo(): IpInfo

获取IP信息。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型

说明

​IpInfo​

IP信息。

IpInfo9+

IP信息。

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

名称

类型

可读

可写

说明

ipAddress

number

IP地址。

gateway

number

网关。

netmask

number

掩码。

primaryDns

number

主DNS服务器IP地址。

secondDns

number

备DNS服务器IP地址。

serverIp

number

DHCP服务端IP地址。

leaseDuration

number

IP地址租用时长。

wifi.getCountryCode9+

getCountryCode(): string

获取国家码信息。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型

说明

string

国家码。

wifi.on('wifiStateChange')9+

on(type: "wifiStateChange", callback: Callback<number>): void

注册WLAN状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

type

string

固定填"wifiStateChange"字符串。

callback

Callback<number>

状态改变回调函数。

状态改变事件的枚举:

枚举值

说明

0

未激活。

1

已激活。

2

激活中。

3

去激活中。

wifi.off('wifiStateChange')9+

off(type: "wifiStateChange", callback?: Callback<number>): void

取消注册WLAN状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

type

string

固定填"wifiStateChange"字符串。

callback

Callback<number>

状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

var recvPowerNotifyFunc = result => {
    console.info("Receive power state change event: " + result);
}

// Register event
wifi.on("wifiStateChange", recvPowerNotifyFunc);

// Unregister event
wifi.off("wifiStateChange", recvPowerNotifyFunc);

wifi.on('wifiConnectionChange')9+

on(type: "wifiConnectionChange", callback: Callback<number>): void

注册WLAN连接状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

type

string

固定填"wifiConnectionChange"字符串。

callback

Callback<number>

状态改变回调函数。

连接状态改变事件的枚举:

枚举值

说明

0

已断开。

1

已连接。

wifi.off('wifiConnectionChange')9+

off(type: "wifiConnectionChange", callback?: Callback<number>): void

取消注册WLAN连接状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

type

string

固定填"wifiConnectionChange"字符串。

callback

Callback<number>

连接状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。

wifi.on('wifiScanStateChange')9+

on(type: "wifiScanStateChange", callback: Callback<number>): void

注册扫描状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

type

string

固定填"wifiScanStateChange"字符串。

callback

Callback<number>

状态改变回调函数。

扫描状态改变事件的枚举:

枚举值

说明

0

扫描失败。

1

扫描成功。

wifi.off('wifiScanStateChange')9+

off(type: "wifiScanStateChange", callback?: Callback<number>): void

取消注册扫描状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

type

string

固定填"wifiScanStateChange"字符串。

callback

Callback<number>

状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。

wifi.on('wifiRssiChange')9+

on(type: "wifiRssiChange", callback: Callback<number>): void

注册RSSI状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

type

string

固定填"wifiRssiChange"字符串。

callback

Callback<number>

状态改变回调函数,返回以dBm为单位的RSSI值。

wifi.off('wifiRssiChange')9+

off(type: "wifiRssiChange", callback?: Callback<number>): void

取消注册RSSI状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名

类型

必填

说明

type

string

固定填"wifiRssiChange"字符串。

callback

Callback<number>

状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。


文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-references-V3/js-apis-wifimanager-0000001428061976-V3?catalogVersion=V3​

已于2023-4-7 16:01:58修改
收藏
回复
举报
回复