harmony 鸿蒙@ohos.wifi (WLAN)

2022-08-09 浏览 (831)

@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

返回值:

类型说明
booleantrue:操作成功, 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

返回值:

类型说明
booleantrue:操作成功, 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

返回值:

类型说明
booleantrue:已使能, 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

返回值:

类型说明
booleantrue:扫描操作执行成功, 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

参数:

参数名类型必填说明
callbackAsyncCallback< 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

名称类型可读可写说明
ssidstring热点的SSID,编码格式为UTF-8。
bssidstring热点的BSSID。
capabilitiesstring热点能力。
securityTypeWifiSecurityTypeWLAN加密类型。
rssinumber热点的信号强度(dBm)。
bandnumberWLAN接入点的频段。
frequencynumberWLAN接入点的频率。
channelWidthnumberWLAN接入点的带宽。
timestampnumber时间戳。

WifiSecurityType

表示加密类型的枚举。

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

名称说明
WIFI_SEC_TYPE_INVALID0无效加密类型。
WIFI_SEC_TYPE_OPEN1开放加密类型。
WIFI_SEC_TYPE_WEP2Wired Equivalent Privacy (WEP)加密类型。
WIFI_SEC_TYPE_PSK3Pre-shared key (PSK)加密类型。
WIFI_SEC_TYPE_SAE4Simultaneous 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

参数:

参数名类型必填说明
configWifiDeviceConfigWLAN配置信息。

返回值:

类型说明
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

名称类型可读可写说明
ssidstring热点的SSID,编码格式为UTF-8。
bssidstring热点的BSSID。
preSharedKeystring热点的密钥。
isHiddenSsidboolean是否是隐藏网络。
securityTypeWifiSecurityType加密类型。
creatorUidnumber创建用户的ID。
系统接口: 此接口为系统接口。
disableReasonnumber禁用原因。
系统接口: 此接口为系统接口。
netIdnumber分配的网络ID。
系统接口: 此接口为系统接口。
randomMacTypenumber随机MAC类型。
系统接口: 此接口为系统接口。
randomMacAddrstring随机MAC地址。
系统接口: 此接口为系统接口。
ipTypeIpTypeIP地址类型。
系统接口: 此接口为系统接口。
staticIpIpConfig静态IP配置信息。
系统接口: 此接口为系统接口。

IpType7+

表示IP类型的枚举。

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

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

名称说明
STATIC0静态IP。
DHCP1通过DHCP获取。
UNKNOWN2未指定。

IpConfig7+

IP配置信息。

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

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

名称类型可读可写说明
ipAddressnumberIP地址。
gatewaynumber网关。
dnsServersnumber[]DNS服务器。
domainsArray<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

参数:

参数名类型必填说明
configWifiDeviceConfigWLAN配置信息。
callbackAsyncCallback<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

参数:

参数名类型必填说明
configWifiDeviceConfigWLAN配置信息。

返回值:

类型说明
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

参数:

参数名类型必填说明
configWifiDeviceConfigWLAN配置信息。
callbackAsyncCallback<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

参数:

参数名类型必填说明
configWifiDeviceConfigWLAN配置信息。

返回值:

类型说明
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

参数:

参数名类型必填说明
configWifiDeviceConfigWLAN配置信息。
callbackAsyncCallback<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

参数:

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

返回值:

类型说明
booleantrue:操作成功, 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

参数:

参数名类型必填说明
configWifiDeviceConfigWLAN配置信息。

返回值:

类型说明
booleantrue:操作成功, 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

返回值:

类型说明
booleantrue:操作成功, 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

参数:

参数名类型必填说明
rssinumber热点的信号强度(dBm)。
bandnumberWLAN接入点的频段。

返回值:

类型说明
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

参数:

参数名类型必填说明
callbackAsyncCallback<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

名称类型可读可写说明
ssidstring热点的SSID,编码格式为UTF-8。
bssidstring热点的BSSID。
networkIdnumber网络配置ID。
系统接口: 此接口为系统接口。
rssinumber热点的信号强度(dBm)。
bandnumberWLAN接入点的频段。
linkSpeednumberWLAN接入点的速度。
frequencynumberWLAN接入点的频率。
isHiddenbooleanWLAN接入点是否是隐藏网络。
isRestrictedbooleanWLAN接入点是否限制数据量。
chloadnumber连接负载,值越大表示负载约高。
系统接口: 此接口为系统接口。
snrnumber信噪比。
系统接口: 此接口为系统接口。
macAddressstring设备的MAC地址。
ipAddressnumberWLAN连接的IP地址。
suppStateSuppState请求状态。
系统接口: 此接口为系统接口。
connStateConnStateWLAN连接状态。

ConnState

表示WLAN连接状态的枚举。

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

名称说明
SCANNING0设备正在搜索可用的AP。
CONNECTING1正在建立WLAN连接。
AUTHENTICATING2WLAN连接正在认证中。
OBTAINING_IPADDR3正在获取WLAN连接的IP地址。
CONNECTED4WLAN连接已建立。
DISCONNECTING5WLAN连接正在断开。
DISCONNECTED6WLAN连接已断开。
UNKNOWN7WLAN连接建立失败。

SuppState

表示请求状态的枚举。

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

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

名称说明
DISCONNECTED0已断开。
INTERFACE_DISABLED1接口禁用。
INACTIVE2未激活。
SCANNING3扫描中。
AUTHENTICATING4认证中。
ASSOCIATING5关联中。
ASSOCIATED6已关联。
FOUR_WAY_HANDSHAKE7四次握手。
GROUP_HANDSHAKE8组握手。
COMPLETED9所有认证已完成。
UNINITIALIZED10连接建立失败。
INVALID11无效值。

wifi.isConnected7+

isConnected(): boolean

查询WLAN是否已连接。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

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

wifi.getSupportedFeatures7+

getSupportedFeatures(): number

查询设备支持的特性。

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

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

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

特性ID值枚举:

枚举值说明
0x0001基础结构模式特性。
0x00025 GHz带宽特性。
0x0004GAS/ANQP特性。
0x0008Wifi-Direct特性。
0x0010Soft AP特性。
0x0040Wi-Fi AWare组网特性。
0x8000AP STA共存特性。
0x8000000WPA3-Personal SAE特性。
0x10000000WPA3-Enterprise Suite-B
0x20000000增强开放特性。

wifi.isFeatureSupported7+

isFeatureSupported(featureId: number): boolean

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

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

返回值:

类型说明
booleantrue:支持, 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

返回值:

类型说明
IpInfoIP信息。

示例:

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.STA

名称类型可读可写说明
ipAddressnumberIP地址。
gatewaynumber网关。
netmasknumber掩码。
primaryDnsnumber主DNS服务器IP地址。
secondDnsnumber备DNS服务器IP地址。
serverIpnumberDHCP服务端IP地址。
leaseDurationnumberIP地址租用时长。

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

返回值:

类型说明
booleantrue:操作成功, 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

返回值:

类型说明
booleantrue:操作成功, 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

参数:

参数名类型必填说明
configWifiDeviceConfigWLAN配置信息。

返回值:

类型说明
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

参数:

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

返回值:

类型说明
booleantrue:操作成功, 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

返回值:

类型说明
booleantrue:操作成功, 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

参数:

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

返回值:

类型说明
booleantrue:操作成功, 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

返回值:

类型说明
booleantrue:操作成功, 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

返回值:

类型说明
booleantrue:操作成功, 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

返回值:

类型说明
booleantrue:支持, 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

返回值:

类型说明
booleantrue:已使能, 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

参数:

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

返回值:

类型说明
booleantrue:操作成功, 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

名称类型可读可写说明
ssidstring热点的SSID,编码格式为UTF-8。
securityTypeWifiSecurityType加密类型。
bandnumber热点的带宽。1: 2.4G, 2: 5G, 3: 双模频段
preSharedKeystring热点的密钥。
maxConnnumber最大设备连接数。

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

名称类型可读可写说明
namestring设备名称。
macAddressstringMAC地址。
ipAddressstringIP地址。

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

名称类型可读可写说明
connectStateP2pConnectStateP2P连接状态。
isGroupOwnerboolean是否是群主。
groupOwnerAddrstring群组MAC地址。

P2pConnectState8+

表示P2P连接状态的枚举。

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

名称说明
DISCONNECTED0断开状态。
CONNECTED1连接状态。

wifi.getP2pLinkedInfo8+

getP2pLinkedInfo(callback: AsyncCallback<WifiP2pLinkedInfo>): void

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名类型必填说明
callbackAsyncCallback<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

参数:

参数名类型必填说明
callbackAsyncCallback<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

参数:

参数名类型必填说明
callbackAsyncCallback<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

名称类型可读可写说明
deviceNamestring设备名称。
deviceAddressstring设备MAC地址。
primaryDeviceTypestring主设备类型。
deviceStatusP2pDeviceStatus设备状态。
groupCapabilitysnumber群组能力。

P2pDeviceStatus8+

表示设备状态的枚举。

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

名称说明
CONNECTED0连接状态。
INVITED1邀请状态。
FAILED2失败状态。
AVAILABLE3可用状态。
UNAVAILABLE4不可用状态。

wifi.createGroup8+

createGroup(config: WifiP2PConfig): boolean

创建群组。

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

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

返回值:

类型说明
booleantrue:创建群组操作执行成功, 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

名称类型可读可写说明
deviceAddressstring设备地址。
netIdnumber网络ID。创建群组时-1表示创建临时组,-2表示创建永久组。
passphrasestring群组密钥。
groupNamestring群组名称。
goBandGroupOwnerBand群组带宽。

GroupOwnerBand8+

表示群组带宽的枚举。

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

名称说明
GO_BAND_AUTO0自动模式。
GO_BAND_2GHZ12GHZ。
GO_BAND_5GHZ25GHZ。

wifi.removeGroup8+

removeGroup(): boolean

移除群组。

需要权限: ohos.permission.GET_WIFI_INFO

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

返回值:

类型说明
booleantrue:操作执行成功, 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

参数:

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

返回值:

类型说明
booleantrue:操作执行成功, 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

返回值:

类型说明
booleantrue:操作执行成功, 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

返回值:

类型说明
booleantrue:操作执行成功, 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

返回值:

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

示例:

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

参数:

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

返回值:

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

示例:

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

名称类型可读可写说明
isP2pGoboolean是否是群主。
ownerInfoWifiP2pDevice群组的设备信息。
passphrasestring群组密钥。
interfacestring接口名称。
groupNamestring群组名称。
networkIdnumber网络ID。
frequencynumber群组的频率。
clientDevicesWifiP2pDevice[]接入的设备列表信息。
goIpAddressstring群组IP地址。

wifi.setDeviceName8+

setDeviceName(devName: string): boolean

设置设备名称。

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

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

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

参数:

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

返回值:

类型说明
booleantrue:操作成功, 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

参数:

参数名类型必填说明
typestring固定填"wifiStateChange"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"wifiStateChange"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"wifiConnectionChange"字符串。
callbackCallback<number>状态改变回调函数。

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

枚举值说明
0已断开。
1已连接。

wifi.off('wifiConnectionChange')7+

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

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名类型必填说明
typestring固定填"wifiConnectionChange"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"wifiScanStateChange"字符串。
callbackCallback<number>状态改变回调函数。

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

枚举值说明
0扫描失败。
1扫描成功。

wifi.off('wifiScanStateChange')7+

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

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名类型必填说明
typestring固定填"wifiScanStateChange"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"wifiRssiChange"字符串。
callbackCallback<number>状态改变回调函数,返回以dBm为单位的RSSI值。

wifi.off('wifiRssiChange')7+

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

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名类型必填说明
typestring固定填"wifiRssiChange"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"streamChange"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"streamChange"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"hotspotStateChange"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"hotspotStateChange"字符串。
callbackCallback<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

参数:

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

wifi.off('hotspotStaJoin')7+

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

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

需要权限: ohos.permission.MANAGE_WIFI_HOTSPOT

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

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

参数:

参数名类型必填说明
typestring固定填"hotspotStaJoin"字符串。
callbackCallback<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

参数:

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

wifi.off('hotspotStaLeave')9+

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

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

需要权限: ohos.permission.MANAGE_WIFI_HOTSPOT

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

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

参数:

参数名类型必填说明
typestring固定填"hotspotStaLeave"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"p2pStateChange"字符串。
callbackCallback<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

参数:

参数名类型必填说明
typestring固定填"p2pStateChange"字符串。
callbackCallback<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

参数:

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

wifi.off('p2pConnectionChange')8+

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

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名类型必填说明
typestring固定填"p2pConnectionChange"字符串。
callbackCallback<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

参数:

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

wifi.off('p2pDeviceChange')8+

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

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

需要权限: ohos.permission.LOCATION

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

参数:

参数名类型必填说明
typestring固定填"p2pDeviceChange"字符串。
callbackCallback<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

参数:

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

wifi.off('p2pPeerDeviceChange')8+

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

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

需要权限: ohos.permission.LOCATION

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

参数:

参数名类型必填说明
typestring固定填"p2pPeerDeviceChange"字符串。
callbackCallback<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

参数:

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

wifi.off('p2pPersistentGroupChange')8+

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

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名类型必填说明
typestring固定填"p2pPersistentGroupChange"字符串。
callbackCallback<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

参数:

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

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

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

wifi.off('p2pDiscoveryChange')8+

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

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

需要权限: ohos.permission.GET_WIFI_INFO

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

参数:

参数名类型必填说明
typestring固定填"p2pDiscoveryChange"字符串。
callbackCallback<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);

你可能感兴趣的鸿蒙文章

harmony 鸿蒙接口

harmony 鸿蒙系统公共事件定义(待停用)

harmony 鸿蒙系统公共事件定义

harmony 鸿蒙开发说明

harmony 鸿蒙企业设备管理概述(仅对系统应用开放)

harmony 鸿蒙BundleStatusCallback

harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)

harmony 鸿蒙@ohos.distributedBundle (分布式包管理)

harmony 鸿蒙@ohos.bundle (Bundle模块)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)

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