@ohos.wifi (WLAN)

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

说明:

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

导入模块

import wifi from '@ohos.wifi';

wifi.enableWifi

enableWifi(): boolean

使能WLAN。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.enableWifi();
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.disableWifi

disableWifi(): boolean

去使能WLAN。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.disableWifi();
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.isWifiActive

isWifiActive(): boolean

查询WLAN是否已使能。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
boolean true:已使能, false:未使能。

示例:

import wifi from '@ohos.wifi';

try {
	let isWifiActive = wifi.isWifiActive();
	console.info("isWifiActive:" + isWifiActive);
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.scan

scan(): boolean

启动WLAN扫描。

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

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

返回值:

类型 说明
boolean true:扫描操作执行成功, false:扫描操作执行失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.scan();
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.getScanInfos

getScanInfos(): 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.getScanInfos

getScanInfos(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;
    }

    let len = result.length;
    console.log("wifi received scan info: " + len);
    for (let 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 => {
    let len = result.length;
    console.log("wifi received scan info: " + len);
    for (let 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);
    }
});

WifiScanInfo

WLAN热点信息。

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

名称 类型 可读 可写 说明
ssid string 热点的SSID,最大长度为32字节,编码格式为UTF-8。
bssid string 热点的BSSID,例如:00:11:22:33:44:55。
capabilities string 热点能力。
securityType WifiSecurityType WLAN加密类型。
rssi number 热点的信号强度(dBm)。
band number WLAN接入点的频段。
frequency number WLAN接入点的频率。
channelWidth number WLAN接入点的带宽。
timestamp number 时间戳。

WifiSecurityType

表示加密类型的枚举。

系统能力: 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.addDeviceConfig

addDeviceConfig(config: WifiDeviceConfig): Promise<number>

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

系统接口: 此接口为系统接口。

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

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

参数:

参数名 类型 必填 说明
config WifiDeviceConfig WLAN配置信息。

返回值:

类型 说明
Promise<number> Promise对象。返回添加的网络配置ID,如果值为-1表示添加失败。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.WifiDeviceConfig = {
		ssid : "****",
		bssid:  "****",
		preSharedKey: "****",
		isHiddenSsid: false,
		securityType: 0,
		creatorUid: 0,
		disableReason: 0,
		netId: 0,
		randomMacType: 0,
		randomMacAddr:  "****",
		ipType: 0,
		staticIp: {
			ipAddress: 0,
			gateway: 0,
			dnsServers: [],
			domains: []
		}
	}
	wifi.addDeviceConfig(config).then(result => {
		console.info("result:" + JSON.stringify(result));
	});	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

WifiDeviceConfig

WLAN配置信息。

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

名称 类型 可读 可写 说明
ssid string 热点的SSID,最大长度为32字节,编码格式为UTF-8。
bssid string 热点的BSSID,例如:00:11:22:33:44:55。
preSharedKey string 热点的密钥,最大长度为64字节。
isHiddenSsid boolean 是否是隐藏网络。
securityType WifiSecurityType 加密类型。
creatorUid number 创建用户的ID。
系统接口: 此接口为系统接口。
disableReason number 禁用原因。
系统接口: 此接口为系统接口。
netId number 分配的网络ID。
系统接口: 此接口为系统接口。
randomMacType number 随机MAC类型。
系统接口: 此接口为系统接口。
randomMacAddr string 随机MAC地址。
系统接口: 此接口为系统接口。
ipType IpType IP地址类型。
系统接口: 此接口为系统接口。
staticIp IpConfig 静态IP配置信息。
系统接口: 此接口为系统接口。

IpType7+

表示IP类型的枚举。

系统接口: 此接口为系统接口。

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

名称 说明
STATIC 0 静态IP。
DHCP 1 通过DHCP获取。
UNKNOWN 2 未指定。

IpConfig7+

IP配置信息。

系统接口: 此接口为系统接口。

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

名称 类型 可读 可写 说明
ipAddress number IP地址。
gateway number 网关。
dnsServers number[] DNS服务器。
domains Array<string> 域信息。

wifi.addDeviceConfig

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

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

系统接口: 此接口为系统接口。

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

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

参数:

参数名 类型 必填 说明
config WifiDeviceConfig WLAN配置信息。
callback AsyncCallback<number> 回调函数。当操作成功时,err为0,data为添加的网络配置ID,如果data值为-1,表示添加失败。当error为非0,表示处理出现错误。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.WifiDeviceConfig = {
		ssid : "****",
		bssid:  "****",
		preSharedKey: "****",
		isHiddenSsid: false,
		securityType: 0,
		creatorUid: 0,
		disableReason: 0,
		netId: 0,
		randomMacType: 0,
		randomMacAddr:  "****",
		ipType: 0,
		staticIp: {
			ipAddress: 0,
			gateway: 0,
			dnsServers: [],
			domains: []
		}
	}
	wifi.addDeviceConfig(config,(error,result) => {
		console.info("result:" + JSON.stringify(result));
	});	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.addUntrustedConfig7+

addUntrustedConfig(config: WifiDeviceConfig): Promise<boolean>

添加不可信网络配置,使用Promise异步回调。

需要权限: ohos.permission.SET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
config WifiDeviceConfig WLAN配置信息。

返回值:

类型 说明
Promise<boolean> Promise对象。表示操作结果,true: 成功, false: 失败。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.WifiDeviceConfig = {
		ssid : "****",
		bssid:  "****",
		preSharedKey: "****",
		isHiddenSsid: false,
		securityType: 0,
		creatorUid: 0,
		disableReason: 0,
		netId: 0,
		randomMacType: 0,
		randomMacAddr:  "****",
		ipType: 0,
		staticIp: {
			ipAddress: 0,
			gateway: 0,
			dnsServers: [],
			domains: []
		}
	}
	wifi.addUntrustedConfig(config).then(result => {
		console.info("result:" + JSON.stringify(result));
	});	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.addUntrustedConfig7+

addUntrustedConfig(config: WifiDeviceConfig, callback: AsyncCallback<boolean>): void

添加不可信网络配置,使用callback异步回调。

需要权限: ohos.permission.SET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
config WifiDeviceConfig WLAN配置信息。
callback AsyncCallback<boolean> 回调函数。当操作成功时,err为0,data表示操作结果,true: 成功, false: 失败。如果error为非0,表示处理出现错误。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.WifiDeviceConfig = {
		ssid : "****",
		bssid:  "****",
		preSharedKey: "****",
		isHiddenSsid: false,
		securityType: 0,
		creatorUid: 0,
		disableReason: 0,
		netId: 0,
		randomMacType: 0,
		randomMacAddr:  "****",
		ipType: 0,
		staticIp: {
			ipAddress: 0,
			gateway: 0,
			dnsServers: [],
			domains: []
		}
	}
	wifi.addUntrustedConfig(config,(error,result) => {
		console.info("result:" + JSON.stringify(result));
	});	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.removeUntrustedConfig7+

removeUntrustedConfig(config: WifiDeviceConfig): Promise<boolean>

移除不可信网络配置,使用Promise异步回调。

需要权限: ohos.permission.SET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
config WifiDeviceConfig WLAN配置信息。

返回值:

类型 说明
Promise<boolean> Promise对象。表示操作结果,true: 成功, false: 失败。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.WifiDeviceConfig = {
		ssid : "****",
		bssid:  "****",
		preSharedKey: "****",
		isHiddenSsid: false,
		securityType: 0,
		creatorUid: 0,
		disableReason: 0,
		netId: 0,
		randomMacType: 0,
		randomMacAddr:  "****",
		ipType: 0,
		staticIp: {
			ipAddress: 0,
			gateway: 0,
			dnsServers: [],
			domains: []
		}
	}
	wifi.removeUntrustedConfig(config).then(result => {
		console.info("result:" + JSON.stringify(result));
	});	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.removeUntrustedConfig7+

removeUntrustedConfig(config: WifiDeviceConfig, callback: AsyncCallback<boolean>): void

移除不可信网络配置,使用callback异步回调。

需要权限: ohos.permission.SET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
config WifiDeviceConfig WLAN配置信息。
callback AsyncCallback<boolean> 回调函数。当操作成功时,err为0,data表示操作结果,true: 成功, false: 失败。如果error为非0,表示处理出现错误。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.WifiDeviceConfig = {
		ssid : "****",
		bssid:  "****",
		preSharedKey: "****",
		isHiddenSsid: false,
		securityType: 0,
		creatorUid: 0,
		disableReason: 0,
		netId: 0,
		randomMacType: 0,
		randomMacAddr:  "****",
		ipType: 0,
		staticIp: {
			ipAddress: 0,
			gateway: 0,
			dnsServers: [],
			domains: []
		}
	}
	wifi.removeUntrustedConfig(config,(error,result) => {
	console.info("result:" + JSON.stringify(result));
	});	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.connectToNetwork

connectToNetwork(networkId: number): boolean

连接到指定网络。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

参数:

参数名 类型 必填 说明
networkId number 待连接的网络配置ID。

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	let networkId = 0;
	wifi.connectToNetwork(networkId);
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}	

wifi.connectToDevice

connectToDevice(config: WifiDeviceConfig): boolean

连接到指定网络。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.SET_WIFI_CONFIG 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

参数:

参数名 类型 必填 说明
config WifiDeviceConfig WLAN配置信息。

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.WifiDeviceConfig = {
		ssid : "****",
		bssid:  "****",
		preSharedKey: "****",
		isHiddenSsid: false,
		securityType: 3,
		creatorUid: 0,
		disableReason: 0,
		netId: 0,
		randomMacType: 0,
		randomMacAddr:  "****",
		ipType: 0,
		staticIp: {
		ipAddress: 0,
			gateway: 0,
			dnsServers: [],
			domains: []
		}
	}
	wifi.connectToDevice(config);
			
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.disconnect

disconnect(): boolean

断开连接的网络。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.disconnect();
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.getSignalLevel

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]。

示例:

import wifi from '@ohos.wifi';

try {
	let rssi = 0;
	let band = 0;
	let level = wifi.getSignalLevel(rssi,band);
	console.info("level:" + JSON.stringify(level));
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.getLinkedInfo

getLinkedInfo(): Promise<WifiLinkedInfo>

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

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
Promise<WifiLinkedInfo> Promise对象。表示WLAN连接信息。

wifi.getLinkedInfo

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:number) => {
    console.info("get linked info error");
});

WifiLinkedInfo

提供WLAN连接的相关信息。

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

名称 类型 可读 可写 说明
ssid string 热点的SSID,最大长度为32字节,编码格式为UTF-8。
bssid string 热点的BSSID,例如:00:11:22:33:44:55。
networkId number 网络配置ID。
系统接口: 此接口为系统接口。
rssi number 热点的信号强度(dBm)。
band number WLAN接入点的频段。
linkSpeed number WLAN接入点的速度。
frequency number WLAN接入点的频率。
isHidden boolean WLAN接入点是否是隐藏网络。
isRestricted boolean WLAN接入点是否限制数据量。
chload number 连接负载,值越大表示负载约高。
系统接口: 此接口为系统接口。
snr number 信噪比。
系统接口: 此接口为系统接口。
macAddress string 设备的MAC地址。
ipAddress number WLAN连接的IP地址。
suppState SuppState 请求状态。
系统接口: 此接口为系统接口。
connState ConnState WLAN连接状态。

ConnState

表示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连接建立失败。

SuppState

表示请求状态的枚举。

系统接口: 此接口为系统接口。

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

名称 说明
DISCONNECTED 0 已断开。
INTERFACE_DISABLED 1 接口禁用。
INACTIVE 2 未激活。
SCANNING 3 扫描中。
AUTHENTICATING 4 认证中。
ASSOCIATING 5 关联中。
ASSOCIATED 6 已关联。
FOUR_WAY_HANDSHAKE 7 四次握手。
GROUP_HANDSHAKE 8 组握手。
COMPLETED 9 所有认证已完成。
UNINITIALIZED 10 连接建立失败。
INVALID 11 无效值。

wifi.isConnected7+

isConnected(): boolean

查询WLAN是否已连接。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
boolean true:已连接, false:未连接。

wifi.getSupportedFeatures7+

getSupportedFeatures(): number

查询设备支持的特性。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
number 支持的特性值。

特性ID值枚举:

枚举值 说明
0x0001 基础结构模式特性。
0x0002 5 GHz带宽特性。
0x0004 GAS/ANQP特性。
0x0008 Wifi-Direct特性。
0x0010 Soft AP特性。
0x0040 Wi-Fi AWare组网特性。
0x8000 AP STA共存特性。
0x8000000 WPA3-Personal SAE特性。
0x10000000 WPA3-Enterprise Suite-B
0x20000000 增强开放特性。

wifi.isFeatureSupported7+

isFeatureSupported(featureId: number): boolean

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
featureId number 特性ID值。

返回值:

类型 说明
boolean true:支持, false:不支持。

示例:

import wifi from '@ohos.wifi';

try {
	let featureId = 0;
	let ret = wifi.isFeatureSupported(featureId);
	console.info("isFeatureSupported:" + ret);
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.getDeviceMacAddress7+

getDeviceMacAddress(): string[]

获取设备的MAC地址。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.GET_WIFI_LOCAL_MAC 和 ohos.permission.GET_WIFI_INFO,仅系统应用可用。

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

返回值:

类型 说明
string[] MAC地址。

示例:

import wifi from '@ohos.wifi';

try {
	let ret = wifi.getDeviceMacAddress();
	console.info("deviceMacAddress:" + JSON.stringify(ret));
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.getIpInfo7+

getIpInfo(): IpInfo

获取IP信息。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
IpInfo IP信息。

示例:

import wifi from '@ohos.wifi';

try {
	let info = wifi.getIpInfo();
	console.info("info:" + JSON.stringify(info));
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

IpInfo7+

IP信息。

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

名称 类型 可读 可写 说明
ipAddress number IP地址。
gateway number 网关。
netmask number 掩码。
primaryDns number 主DNS服务器IP地址。
secondDns number 备DNS服务器IP地址。
serverIp number DHCP服务端IP地址。
leaseDuration number IP地址租用时长。

wifi.getCountryCode7+

getCountryCode(): string

获取国家码信息。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
string 国家码。

示例:

import wifi from '@ohos.wifi';

try {
	let code = wifi.getCountryCode();
	console.info("code:" + code);
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.reassociate7+

reassociate(): boolean

重新关联网络。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.reassociate();
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.reconnect7+

reconnect(): boolean

重新连接网络。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.reconnect();
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.getDeviceConfigs7+

getDeviceConfigs():  Array<WifiDeviceConfig>

获取网络配置。

系统接口: 此接口为系统接口。

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

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

返回值:

类型 说明
 Array<WifiDeviceConfig> 网络配置信息的数组。

示例:

import wifi from '@ohos.wifi';

try {
	let configs = wifi.getDeviceConfigs();
	console.info("configs:" + JSON.stringify(configs));
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.updateNetwork7+

updateNetwork(config: WifiDeviceConfig): number

更新网络配置。

系统接口: 此接口为系统接口。

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

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

参数:

参数名 类型 必填 说明
config WifiDeviceConfig WLAN配置信息。

返回值:

类型 说明
number 返回更新的网络配置ID,如果值为-1表示更新失败。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.WifiDeviceConfig = {
		ssid : "****",
		bssid:  "****",
		preSharedKey: "****",
		isHiddenSsid: false,
		securityType: 3,
		creatorUid: 0,
		disableReason: 0,
		netId: 0,
		randomMacType: 0,
		randomMacAddr:  "****",
		ipType: 0,
		staticIp: {
			ipAddress: 0,
			gateway: 0,
			dnsServers: [],
			domains: []
		}
	}
	let ret = wifi.updateNetwork(config);
	console.error("ret:" + ret);		
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.disableNetwork7+

disableNetwork(netId: number): boolean

去使能网络配置。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

参数:

参数名 类型 必填 说明
netId number 网络配置ID。

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	let netId = 0;
	wifi.disableNetwork(netId);		
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.removeAllNetwork7+

removeAllNetwork(): boolean

移除所有网络配置。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.removeAllNetwork();		
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.removeDevice7+

removeDevice(id: number): boolean

移除指定的网络配置。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

参数:

参数名 类型 必填 说明
id number 网络配置ID。

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	let id = 0;
	wifi.removeDevice(id);		
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.enableHotspot7+

enableHotspot(): boolean

使能热点。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。

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

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.enableHotspot();	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.disableHotspot7+

disableHotspot(): boolean

去使能热点。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。

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

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.disableHotspot();	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.isHotspotDualBandSupported7+

isHotspotDualBandSupported(): boolean

热点是否支持双频。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。

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

返回值:

类型 说明
boolean true:支持, false:不支持。

示例:

import wifi from '@ohos.wifi';

try {
	let ret = wifi.isHotspotDualBandSupported();
	console.info("result:" + ret);		
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.isHotspotActive7+

isHotspotActive(): boolean

热点是否已使能。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
boolean true:已使能, false:未使能。

示例:

import wifi from '@ohos.wifi';

try {
	let ret = wifi.isHotspotActive();
	console.info("result:" + ret);		
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.setHotspotConfig7+

setHotspotConfig(config: HotspotConfig): boolean

设置热点配置信息。

系统接口: 此接口为系统接口。

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

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

参数:

参数名 类型 必填 说明
config HotspotConfig 热点配置信息。

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.HotspotConfig = {
		ssid: "****",
		securityType: 3,
		band: 0,
		preSharedKey: "****",
		maxConn: 0
	}
	let ret = wifi.setHotspotConfig(config);
	console.info("result:" + ret);		
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

HotspotConfig7+

热点配置信息。

系统接口: 此接口为系统接口。

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

名称 类型 可读 可写 说明
ssid string 热点的SSID,编码格式为UTF-8。
securityType WifiSecurityType 加密类型。
band number 热点的带宽。1: 2.4G, 2: 5G, 3: 双模频段
preSharedKey string 热点的密钥。
maxConn number 最大设备连接数。

wifi.getHotspotConfig7+

getHotspotConfig(): HotspotConfig

获取热点配置信息。

系统接口: 此接口为系统接口。

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

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

返回值:

类型 说明
HotspotConfig 热点的配置信息。

示例:

import wifi from '@ohos.wifi';

try {
	let config = wifi.getHotspotConfig();
	console.info("result:" + JSON.stringify(config));		
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.getStations7+

getStations():  Array<StationInfo>

获取连接的设备。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 和 ohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。

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

返回值:

类型 说明
 Array<StationInfo> 连接的设备数组。

示例:

import wifi from '@ohos.wifi';

try {
	let stations = wifi.getStations();
	console.info("result:" + JSON.stringify(stations));		
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

StationInfo7+

接入的设备信息。

系统接口: 此接口为系统接口。

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

名称 类型 可读 可写 说明
name string 设备名称。
macAddress string MAC地址。
ipAddress string IP地址。

wifi.getP2pLinkedInfo8+

getP2pLinkedInfo(): Promise<WifiP2pLinkedInfo>

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

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
Promise<WifiP2pLinkedInfo> Promise对象。表示P2P连接信息。

WifiP2pLinkedInfo8+

提供WLAN连接的相关信息。

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

名称 类型 可读 可写 说明
connectState P2pConnectState P2P连接状态。
isGroupOwner boolean 是否是群主。
groupOwnerAddr string 群组MAC地址。

P2pConnectState8+

表示P2P连接状态的枚举。

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

名称 说明
DISCONNECTED 0 断开状态。
CONNECTED 1 连接状态。

wifi.getP2pLinkedInfo8+

getP2pLinkedInfo(callback: AsyncCallback<WifiP2pLinkedInfo>): void

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
callback AsyncCallback<WifiP2pLinkedInfo> 回调函数。当操作成功时,err为0,data表示P2P连接信息。如果error为非0,表示处理出现错误。

示例:

import wifi from '@ohos.wifi';

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

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

wifi.getCurrentGroup8+

getCurrentGroup(): Promise<WifiP2pGroupInfo>

获取P2P当前组信息,使用Promise异步回调。

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

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

返回值:

类型 说明
Promise<WifiP2pGroupInfo> Promise对象。表示当前组信息。

wifi.getCurrentGroup8+

getCurrentGroup(callback: AsyncCallback<WifiP2pGroupInfo>): void

获取P2P当前组信息,使用callback异步回调。

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

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

参数:

参数名 类型 必填 说明
callback AsyncCallback<WifiP2pGroupInfo> 回调函数。当操作成功时,err为0,data表示当前组信息。如果error为非0,表示处理出现错误。

示例:

import wifi from '@ohos.wifi';

wifi.getCurrentGroup((err, data) => {
   if (err) {
       console.error("get current P2P group error");
       return;
   }
	console.info("get current P2P group: " + JSON.stringify(data));
});

wifi.getCurrentGroup().then(data => {
	console.info("get current P2P group: " + JSON.stringify(data));
});

wifi.getP2pPeerDevices8+

getP2pPeerDevices(): Promise<WifiP2pDevice[]>

获取P2P对端设备列表信息,使用Promise异步回调。

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

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

返回值:

类型 说明
Promise<WifiP2pDevice[]> Promise对象。表示对端设备列表信息。

wifi.getP2pPeerDevices8+

getP2pPeerDevices(callback: AsyncCallback<WifiP2pDevice[]>): void

获取P2P对端设备列表信息,使用callback异步回调。

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

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

参数:

参数名 类型 必填 说明
callback AsyncCallback<WifiP2pDevice[]> 回调函数。当操作成功时,err为0,data表示对端设备列表信息。如果error为非0,表示处理出现错误。

示例:

import wifi from '@ohos.wifi';

wifi.getP2pPeerDevices((err, data) => {
   if (err) {
       console.error("get P2P peer devices error");
       return;
   }
	console.info("get P2P peer devices: " + JSON.stringify(data));
});

wifi.getP2pPeerDevices().then(data => {
	console.info("get P2P peer devices: " + JSON.stringify(data));
});

WifiP2pDevice8+

表示P2P设备信息。

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

名称 类型 可读 可写 说明
deviceName string 设备名称。
deviceAddress string 设备MAC地址。
primaryDeviceType string 主设备类型。
deviceStatus P2pDeviceStatus 设备状态。
groupCapabilitys number 群组能力。

P2pDeviceStatus8+

表示设备状态的枚举。

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

名称 说明
CONNECTED 0 连接状态。
INVITED 1 邀请状态。
FAILED 2 失败状态。
AVAILABLE 3 可用状态。
UNAVAILABLE 4 不可用状态。

wifi.createGroup8+

createGroup(config: WifiP2PConfig): boolean

创建群组。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
config WifiP2PConfig 群组配置信息。

返回值:

类型 说明
boolean true:创建群组操作执行成功, false:创建群组操作执行失败。

示例:

import wifi from '@ohos.wifi';

try {
	let config:wifi.WifiP2PConfig = {
		deviceAddress: "****",
		netId: 0,
		passphrase: "*****",
		groupName: "****",
		goBand: 0
	}
	wifi.createGroup(config);	
	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

WifiP2PConfig8+

表示P2P配置信息。

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

名称 类型 可读 可写 说明
deviceAddress string 设备地址。
netId number 网络ID。创建群组时-1表示创建临时组,-2表示创建永久组。
passphrase string 群组密钥。
groupName string 群组名称。
goBand GroupOwnerBand 群组带宽。

GroupOwnerBand8+

表示群组带宽的枚举。

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

名称 说明
GO_BAND_AUTO 0 自动模式。
GO_BAND_2GHZ 1 2GHZ。
GO_BAND_5GHZ 2 5GHZ。

wifi.removeGroup8+

removeGroup(): boolean

移除群组。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
boolean true:操作执行成功, false:操作执行失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.removeGroup();	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.p2pConnect8+

p2pConnect(config: WifiP2PConfig): boolean

执行P2P连接。

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

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

参数:

参数名 类型 必填 说明
config WifiP2PConfig 连接配置信息。

返回值:

类型 说明
boolean true:操作执行成功, false:操作执行失败。

示例:

import wifi from '@ohos.wifi';

let recvP2pConnectionChangeFunc = (result:wifi.WifiP2pLinkedInfo) => {
    console.info("p2p connection change receive event: " + JSON.stringify(result));
    wifi.getP2pLinkedInfo((err, data) => {
        if (err) {
            console.error('failed to get getP2pLinkedInfo: ' + JSON.stringify(err));
            return;
        }
        console.info("get getP2pLinkedInfo: " + JSON.stringify(data));
    });
}
wifi.on("p2pConnectionChange", recvP2pConnectionChangeFunc);

let recvP2pDeviceChangeFunc = (result:wifi.WifiP2pDevice) => {
    console.info("p2p device change receive event: " + JSON.stringify(result));
}
wifi.on("p2pDeviceChange", recvP2pDeviceChangeFunc);

let recvP2pPeerDeviceChangeFunc = (result:wifi.WifiP2pDevice[]) => {
    console.info("p2p peer device change receive event: " + JSON.stringify(result));
    wifi.getP2pPeerDevices((err, data) => {
        if (err) {
            console.error('failed to get peer devices: ' + JSON.stringify(err));
            return;
        }
        console.info("get peer devices: " + JSON.stringify(data));
        let len = data.length;
        for (let i = 0; i < len; ++i) {
            if (data[i].deviceName === "my_test_device") {
                console.info("p2p connect to test device: " + data[i].deviceAddress);
                let config:wifi.WifiP2PConfig = {
                    deviceAddress:data[i].deviceAddress,
                    netId:-2,
                    passphrase:"",
                    groupName:"",
                    goBand:0,
                }
                wifi.p2pConnect(config);
            }
        }
    });
}
wifi.on("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);

let recvP2pPersistentGroupChangeFunc = () => {
    console.info("p2p persistent group change receive event");

    wifi.getCurrentGroup((err, data) => {
        if (err) {
            console.error('failed to get current group: ' + JSON.stringify(err));
            return;
        }
        console.info("get current group: " + JSON.stringify(data));
    });
}
wifi.on("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);

setTimeout(() => {wifi.off("p2pConnectionChange", recvP2pConnectionChangeFunc);}, 125 * 1000);
setTimeout(() => {wifi.off("p2pDeviceChange", recvP2pDeviceChangeFunc);}, 125 * 1000);
setTimeout(() => {wifi.off("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);}, 125 * 1000);
setTimeout(() => {wifi.off("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);}, 125 * 1000);
console.info("start discover devices -> " + wifi.startDiscoverDevices());

wifi.p2pCancelConnect8+

p2pCancelConnect(): boolean

取消P2P连接。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
boolean true:操作执行成功, false:操作执行失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.p2pCancelConnect();	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.startDiscoverDevices8+

startDiscoverDevices(): boolean

开始发现设备。

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

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

返回值:

类型 说明
boolean true:操作执行成功, false:操作执行失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.startDiscoverDevices();	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.stopDiscoverDevices8+

stopDiscoverDevices(): boolean

停止发现设备。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型 说明
boolean true:操作执行成功,操作执行失败。

示例:

import wifi from '@ohos.wifi';

try {
	wifi.stopDiscoverDevices();	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.deletePersistentGroup8+

deletePersistentGroup(netId: number): boolean

删除永久组。

系统接口: 此接口为系统接口。

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

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

参数:

参数名 类型 必填 说明
netId number 组的ID。

返回值:

类型 说明
boolean true:操作执行成功,操作执行失败。

示例:

import wifi from '@ohos.wifi';

try {
	let netId = 0;
	wifi.deletePersistentGroup(netId);	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

WifiP2pGroupInfo8+

表示P2P群组相关信息。

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

名称 类型 可读 可写 说明
isP2pGo boolean 是否是群主。
ownerInfo WifiP2pDevice 群组的设备信息。
passphrase string 群组密钥。
interface string 接口名称。
groupName string 群组名称。
networkId number 网络ID。
frequency number 群组的频率。
clientDevices WifiP2pDevice[] 接入的设备列表信息。
goIpAddress string 群组IP地址。

wifi.setDeviceName8+

setDeviceName(devName: string): boolean

设置设备名称。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。

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

参数:

参数名 类型 必填 说明
devName string 设备名称。

返回值:

类型 说明
boolean true:操作成功, false:操作失败。

示例:

import wifi from '@ohos.wifi';

try {
	let name = "****";
	wifi.setDeviceName(name);	
}catch(error){
	console.error("failed:" + JSON.stringify(error));
}

wifi.on('wifiStateChange')7+

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')7+

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';

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

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

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

wifi.on('wifiConnectionChange')7+

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')7+

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

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"wifiConnectionChange"字符串。
callback Callback<number> 连接状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

let recvWifiConnectionChangeFunc = (result:number) => {
    console.info("Receive wifi connection change event: " + result);
}

// Register event
wifi.on("wifiConnectionChange", recvWifiConnectionChangeFunc);

// Unregister event
wifi.off("wifiConnectionChange", recvWifiConnectionChangeFunc);

wifi.on('wifiScanStateChange')7+

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')7+

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

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"wifiScanStateChange"字符串。
callback Callback<number> 状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

let recvWifiScanStateChangeFunc = (result:number) => {
    console.info("Receive Wifi scan state change event: " + result);
}

// Register event
wifi.on("wifiScanStateChange", recvWifiScanStateChangeFunc);

// Unregister event
wifi.off("wifiScanStateChange", recvWifiScanStateChangeFunc);

wifi.on('wifiRssiChange')7+

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')7+

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

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"wifiRssiChange"字符串。
callback Callback<number> 状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

let recvWifiRssiChangeFunc = (result:number) => {
    console.info("Receive wifi rssi change event: " + result);
}

// Register event
wifi.on("wifiRssiChange", recvWifiRssiChangeFunc);

// Unregister event
wifi.off("wifiRssiChange", recvWifiRssiChangeFunc);

wifi.on('streamChange')7+

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

注册WIFI流更改事件。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.MANAGE_WIFI_CONNECTION

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

参数:

参数名 类型 必填 说明
type string 固定填"streamChange"字符串。
callback Callback<number> 状态改变回调函数,返回0:无,1:向下,2:向上,3:双向。

wifi.off('streamChange')7+

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

取消注册WIFI流更改事件。

系统接口: 此接口为系统接口。

需要权限: ohos.permission.MANAGE_WIFI_CONNECTION

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

参数:

参数名 类型 必填 说明
type string 固定填"streamChange"字符串。
callback Callback<number> 状态改变回调函数,返回0:无,1:向下,2:向上,3:双向。

示例:

import wifi from '@ohos.wifi';

let recvStreamChangeFunc = (result:number) => {
    console.info("Receive stream change event: " + result);
}

// Register event
wifi.on("streamChange", recvStreamChangeFunc);

// Unregister event
wifi.off("streamChange", recvStreamChangeFunc);

wifi.on('hotspotStateChange')7+

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

注册热点状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"hotspotStateChange"字符串。
callback Callback<number> 状态改变回调函数。

热点状态改变事件的枚举:

枚举值 说明
0 未激活。
1 已激活。
2 激活中。
3 去激活中。

示例:

import wifi from '@ohos.wifi';

let recvHotspotStateChangeFunc = (result:number) => {
    console.info("Receive hotspot state change event: " + result);
}

// Register event
wifi.on("hotspotStateChange", recvHotspotStateChangeFunc);

// Unregister event
wifi.off("hotspotStateChange", recvHotspotStateChangeFunc);

wifi.off('hotspotStateChange')7+

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

取消注册热点状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"hotspotStateChange"字符串。
callback Callback<number> 状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

wifi.on('hotspotStaJoin')7+

on(type: "hotspotStaJoin", callback: Callback<StationInfo>): void

注册wifi热点sta加入事件。

需要权限: ohos.permission.MANAGE_WIFI_HOTSPOT

系统接口: 此接口为系统接口。

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

参数:

参数名 类型 必填 说明
type string 固定填"hotspotStaJoin"字符串。
callback Callback<StationInfo> 状态改变回调函数。

wifi.off('hotspotStaJoin')7+

off(type: "hotspotStaJoin", callback?: Callback<StationInfo>): void

取消注册wifi热点sta加入事件。

需要权限: ohos.permission.MANAGE_WIFI_HOTSPOT

系统接口: 此接口为系统接口。

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

参数:

参数名 类型 必填 说明
type string 固定填"hotspotStaJoin"字符串。
callback Callback<StationInfo> 状态改变回调函数。

示例:

import wifi from '@ohos.wifi';

let recvHotspotStaJoinFunc = (result:wifi.StationInfo) => {
    console.info("Receive hotspot sta join event: " + result);
}

// Register event
wifi.on("hotspotStaJoin", recvHotspotStaJoinFunc);

// Unregister event
wifi.off("hotspotStaJoin", recvHotspotStaJoinFunc);

wifi.on('hotspotStaLeave')7+

on(type: "hotspotStaLeave", callback: Callback<StationInfo>): void

注册wifi热点sta离开事件。

需要权限: ohos.permission.MANAGE_WIFI_HOTSPOT

系统接口: 此接口为系统接口。

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

参数:

参数名 类型 必填 说明
type string 固定填"hotspotStaLeave"字符串。
callback Callback<StationInf]> 状态改变回调函数。

wifi.off('hotspotStaLeave')7+

off(type: "hotspotStaLeave", callback?: Callback<StationInfo>): void

取消注册wifi热点sta离开事件。

需要权限: ohos.permission.MANAGE_WIFI_HOTSPOT

系统接口: 此接口为系统接口。

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

参数:

参数名 类型 必填 说明
type string 固定填"hotspotStaLeave"字符串。
callback Callback<StationInf]> 状态改变回调函数。

示例:

import wifi from '@ohos.wifi';

let recvHotspotStaLeaveFunc = (result:wifi.StationInfo) => {
    console.info("Receive hotspot sta leave event: " + result);
}

// Register event
wifi.on("hotspotStaLeave", recvHotspotStaLeaveFunc);

// Unregister event
wifi.off("hotspotStaLeave", recvHotspotStaLeaveFunc);

wifi.on('p2pStateChange')8+

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

注册P2P开关状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pStateChange"字符串。
callback Callback<number> 状态改变回调函数。

P2P状态改变事件的枚举:

枚举值 说明
1 空闲。
2 打开中。
3 已打开。
4 关闭中。
5 已关闭。

wifi.off('p2pStateChange')8+

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

取消注册P2P开关状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pStateChange"字符串。
callback Callback<number> 状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

let recvP2pStateChangeFunc = (result:number) => {
    console.info("Receive p2p state change event: " + result);
}

// Register event
wifi.on("p2pStateChange", recvP2pStateChangeFunc);

// Unregister event
wifi.off("p2pStateChange", recvP2pStateChangeFunc);

wifi.on('p2pConnectionChange')8+

on(type: "p2pConnectionChange", callback: Callback<WifiP2pLinkedInfo>): void

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pConnectionChange"字符串。
callback Callback<WifiP2pLinkedInfo> 状态改变回调函数。

wifi.off('p2pConnectionChange')8+

off(type: "p2pConnectionChange", callback?: Callback<WifiP2pLinkedInfo>): void

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pConnectionChange"字符串。
callback Callback<WifiP2pLinkedInfo> 状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

let recvP2pConnectionChangeFunc = (result:wifi.WifiP2pLinkedInfo) => {
    console.info("Receive p2p connection change event: " + result);
}

// Register event
wifi.on("p2pConnectionChange", recvP2pConnectionChangeFunc);

// Unregister event
wifi.off("p2pConnectionChange", recvP2pConnectionChangeFunc);

wifi.on('p2pDeviceChange')8+

on(type: "p2pDeviceChange", callback: Callback<WifiP2pDevice>): void

注册P2P设备状态改变事件。

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

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pDeviceChange"字符串。
callback Callback<WifiP2pDevice> 状态改变回调函数。

wifi.off('p2pDeviceChange')8+

off(type: "p2pDeviceChange", callback?: Callback<WifiP2pDevice>): void

取消注册P2P设备状态改变事件。

需要权限: ohos.permission.LOCATION

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pDeviceChange"字符串。
callback Callback<WifiP2pDevice> 状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

let recvP2pDeviceChangeFunc = (result:wifi.WifiP2pDevice) => {
    console.info("Receive p2p device change event: " + result);
}

// Register event
wifi.on("p2pDeviceChange", recvP2pDeviceChangeFunc);

// Unregister event
wifi.off("p2pDeviceChange", recvP2pDeviceChangeFunc);

wifi.on('p2pPeerDeviceChange')8+

on(type: "p2pPeerDeviceChange", callback: Callback<WifiP2pDevice[]>): void

注册P2P对端设备状态改变事件。

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

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pPeerDeviceChange"字符串。
callback Callback<WifiP2pDevice[]> 状态改变回调函数。

wifi.off('p2pPeerDeviceChange')8+

off(type: "p2pPeerDeviceChange", callback?: Callback<WifiP2pDevice[]>): void

取消注册P2P对端设备状态改变事件。

需要权限: ohos.permission.LOCATION

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pPeerDeviceChange"字符串。
callback Callback<WifiP2pDevice[]> 状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

let recvP2pPeerDeviceChangeFunc = (result:wifi.WifiP2pDevice[]) => {
    console.info("Receive p2p peer device change event: " + result);
}

// Register event
wifi.on("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);

// Unregister event
wifi.off("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);

wifi.on('p2pPersistentGroupChange')8+

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

注册P2P永久组状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pPersistentGroupChange"字符串。
callback Callback<void> 状态改变回调函数。

wifi.off('p2pPersistentGroupChange')8+

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

取消注册P2P永久组状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pPersistentGroupChange"字符串。
callback Callback<void> 状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

let recvP2pPersistentGroupChangeFunc = (result:void) => {
    console.info("Receive p2p persistent group change event: " + result);
}

// Register event
wifi.on("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);

// Unregister event
wifi.off("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);

wifi.on('p2pDiscoveryChange')8+

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

注册发现设备状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pDiscoveryChange"字符串。
callback Callback<number> 状态改变回调函数。

发现设备状态改变事件的枚举:

枚举值 说明
0 初始状态。
1 发现成功。

wifi.off('p2pDiscoveryChange')8+

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

取消注册发现设备状态改变事件。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名 类型 必填 说明
type string 固定填"p2pDiscoveryChange"字符串。
callback Callback<number> 状态改变回调函数。如果callback不填,将取消注册该事件关联的所有回调函数。

示例:

import wifi from '@ohos.wifi';

let recvP2pDiscoveryChangeFunc = (result:number) => {
    console.info("Receive p2p discovery change event: " + result);
}

// Register event
wifi.on("p2pDiscoveryChange", recvP2pDiscoveryChangeFunc);

// Unregister event
wifi.off("p2pDiscoveryChange", recvP2pDiscoveryChangeFunc);