harmony 鸿蒙@ohos.wifi (WLAN)

2022-08-09 浏览 (861)

@ohos.wifi (WLAN)

The WLAN module provides basic wireless local area network (WLAN) functions, peer-to-peer (P2P) functions, and WLAN message notification services. It allows applications to communicate with other devices over WLAN.

NOTE

The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

import wifi from '@ohos.wifi';

wifi.enableWifi

enableWifi(): boolean

Enables WLAN.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.disableWifi

disableWifi(): boolean

Disables WLAN.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.isWifiActive

isWifiActive(): boolean

Checks whether WLAN is enabled.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
booleanReturns true if WLAN is enabled; returns false otherwise.

Example

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

Starts a scan for WLAN.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.getScanInfos

getScanInfos(): Promise<Array<WifiScanInfo>>

Obtains the scan result. This API uses a promise to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.GET_WIFI_PEERS_MAC (or ohos.permission.LOCATION)

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
Promise< Array<WifiScanInfo> >Promise used to return the detected hotspots.

wifi.getScanInfos

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

Obtains the scan result. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.GET_WIFI_PEERS_MAC (or ohos.permission.LOCATION)

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback< Array<WifiScanInfo>>YesCallback invoked to return the result. If the operation is successful, err is 0 and data is the detected hotspots. Otherwise, err is a non-zero value and data is empty.

Example

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

Represents WLAN hotspot information.

System capability: SystemCapability.Communication.WiFi.STA

NameTypeReadableWritableDescription
ssidstringYesNoService set identifier (SSID) of the hotspot, in UTF-8 format.
bssidstringYesNoBasic service set identifier (BSSID) of the hotspot.
capabilitiesstringYesNoHotspot capabilities.
securityTypeWifiSecurityTypeYesNoWLAN security type.
rssinumberYesNoReceived signal strength indicator (RSSI) of the hotspot, in dBm.
bandnumberYesNoFrequency band of the WLAN access point (AP).
frequencynumberYesNoFrequency of the WLAN AP.
channelWidthnumberYesNoChannel width of the WLAN AP.
timestampnumberYesNoTimestamp.

WifiSecurityType

Enumerates the WLAN security types.

System capability: SystemCapability.Communication.WiFi.Core

NameValueDescription
WIFI_SEC_TYPE_INVALID0Invalid security type.
WIFI_SEC_TYPE_OPEN1Open security type.
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>

Adds network configuration. This API uses a promise to return the result.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.SET_WIFI_CONFIG

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
configWifiDeviceConfigYesWLAN configuration to add.

Return value

TypeDescription
Promise<number>Promise used to return the WLAN configuration ID. If -1 is returned, the network configuration fails to be added.

Example

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

Represents the WLAN configuration.

System capability: SystemCapability.Communication.WiFi.STA

NameTypeReadableWritableDescription
ssidstringYesNoSSID of the hotspot, in UTF-8 format.
bssidstringYesNoBSSID of the hotspot.
preSharedKeystringYesNoPSK of the hotspot.
isHiddenSsidbooleanYesNoWhether the network is hidden.
securityTypeWifiSecurityTypeYesNoSecurity type.
creatorUidnumberYesNoID of the creator.
System API: This is a system API.
disableReasonnumberYesNoReason for disabling WLAN.
System API: This is a system API.
netIdnumberYesNoNetwork ID.
System API: This is a system API.
randomMacTypenumberYesNoRandom MAC type.
System API: This is a system API.
randomMacAddrstringYesNoRandom MAC address.
System API: This is a system API.
ipTypeIpTypeYesNoIP address type.
System API: This is a system API.
staticIpIpConfigYesNoStatic IP address configuration.
System API: This is a system API.

IpType7+

Enumerates the IP address types.

System API: This is a system API.

System capability: SystemCapability.Communication.WiFi.STA

NameValueDescription
STATIC0Static IP address.
DHCP1IP address allocated by DHCP.
UNKNOWN2Not specified.

IpConfig7+

Represents IP configuration information.

System API: This is a system API.

System capability: SystemCapability.Communication.WiFi.STA

NameTypeReadableWritableDescription
ipAddressnumberYesNoIP address.
gatewaynumberYesNoGateway.
dnsServersnumber[]YesNoDomain name server (DNS) information.
domainsArray<string>YesNoDomain information.

wifi.addDeviceConfig

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

Adds network configuration. This API uses an asynchronous callback to return the result.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.SET_WIFI_CONFIG

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
configWifiDeviceConfigYesWLAN configuration to add.
callbackAsyncCallback<number>YesCallback invoked to return the result. If the operation is successful, err is 0 and data is the network configuration ID. If data is -1, the operation has failed. If err is not 0, an error has occurred.

Example

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>

Adds the configuration of an untrusted network. This API uses a promise to return the result.

Required permissions: ohos.permission.SET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
configWifiDeviceConfigYesWLAN configuration to add.

Return value

TypeDescription
Promise<boolean>Promise used to return the result. If the operation is successful, true is returned; otherwise, false is returned.

Example

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

Adds the configuration of an untrusted network. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.SET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
configWifiDeviceConfigYesWLAN configuration to add.
callbackAsyncCallback<boolean>YesCallback invoked to return the result. If the operation is successful, err is 0 and data is true. If the operation fails, data is false. If err is not 0, an error has occurred.

Example

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>

Removes the configuration of an untrusted network. This API uses a promise to return the result.

Required permissions: ohos.permission.SET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
configWifiDeviceConfigYesWLAN configuration to remove.

Return value

TypeDescription
Promise<boolean>Promise used to return the result. If the operation is successful, true is returned; otherwise, false is returned.

Example

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

Removes the configuration of an untrusted network. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.SET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
configWifiDeviceConfigYesWLAN configuration to remove.
callbackAsyncCallback<boolean>YesCallback invoked to return the result. If the operation is successful, err is 0 and data is true. If the operation fails, data is false. If err is not 0, an error has occurred.

Example

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

Connects to the specified network.

System API: This is a system API.

Required permissions: ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
networkIdnumberYesNetwork configuration ID.

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

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

Connects to the specified network.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO, ohos.permission.SET_WIFI_CONFIG, and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
configWifiDeviceConfigYesWLAN configuration.

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

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

Disconnects the network.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.getSignalLevel

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

Obtains the WLAN signal level.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
rssinumberYesRSSI of the hotspot, in dBm.
bandnumberYesFrequency band of the WLAN AP.

Return value

TypeDescription
numberSignal level obtained. The value range is [0, 4].

Example

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>

Obtains WLAN connection information. This API uses a promise to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
Promise<WifiLinkedInfo>Promise used to return the WLAN connection information.

wifi.getLinkedInfo

getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void

Obtains WLAN connection information. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<WifiLinkedInfo>YesCallback invoked to return the result. If the operation is successful, err is 0 and data is the WLAN connection information obtained. If err is not 0, an error has occurred.

Example

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

Represents the WLAN connection information.

System capability: SystemCapability.Communication.WiFi.STA

NameTypeReadableWritableDescription
ssidstringYesNoSSID of the hotspot, in UTF-8 format.
bssidstringYesNoBSSID of the hotspot.
networkIdnumberYesNoNetwork configuration ID.
System API: This is a system API.
rssinumberYesNoRSSI of the hotspot, in dBm.
bandnumberYesNoFrequency band of the WLAN AP.
linkSpeednumberYesNoSpeed of the WLAN AP.
frequencynumberYesNoFrequency of the WLAN AP.
isHiddenbooleanYesNoWhether to hide the WLAN AP.
isRestrictedbooleanYesNoWhether to restrict data volume at the WLAN AP.
chloadnumberYesNoChannel load. A larger value indicates a higher load.
System API: This is a system API.
snrnumberYesNoSignal-to-noise ratio (SNR).
System API: This is a system API.
macAddressstringYesNoMAC address of the device.
ipAddressnumberYesNoIP address of the device that sets up the WLAN connection.
suppStateSuppStateYesNoSupplicant state.
System API: This is a system API.
connStateConnStateYesNoWLAN connection state.

ConnState

Enumerates the WLAN connection states.

System capability: SystemCapability.Communication.WiFi.STA

NameValueDescription
SCANNING0The device is scanning for available APs.
CONNECTING1A WLAN connection is being established.
AUTHENTICATING2An authentication is being performed for a WLAN connection.
OBTAINING_IPADDR3The IP address of the WLAN connection is being acquired.
CONNECTED4A WLAN connection is established.
DISCONNECTING5The WLAN connection is being disconnected.
DISCONNECTED6The WLAN connection is disconnected.
UNKNOWN7Failed to set up the WLAN connection.

SuppState

Enumerates the supplicant states.

System API: This is a system API.

System capability: SystemCapability.Communication.WiFi.STA

NameValueDescription
DISCONNECTED0The supplicant is disconnected from the AP.
INTERFACE_DISABLED1The network interface is disabled.
INACTIVE2The supplicant is inactive.
SCANNING3The supplicant is scanning for a WLAN connection.
AUTHENTICATING4The supplicant is being authenticated.
ASSOCIATING5The supplicant is being associated with an AP.
ASSOCIATED6The supplicant is associated with an AP.
FOUR_WAY_HANDSHAKE7A four-way handshake is being performed for the supplicant.
GROUP_HANDSHAKE8A group handshake is being performed for the supplicant.
COMPLETED9The authentication is complete.
UNINITIALIZED10The supplicant failed to set up the connection.
INVALID11Invalid value.

wifi.isConnected7+

isConnected(): boolean

Checks whether the WLAN is connected.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
booleanReturns true if the WLAN is connected; returns false otherwise.

wifi.getSupportedFeatures7+

getSupportedFeatures(): number

Obtains the features supported by this device.

System API: This is a system API.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.Core

Return value

TypeDescription
numberFeature value.

Feature IDs

ValueDescription
0x0001WLAN infrastructure mode
0x00025 GHz feature
0x0004Generic Advertisement Service (GAS)/Access Network Query Protocol (ANQP) feature
0x0008Wi-Fi Direct
0x0010SoftAP
0x0040Wi-Fi AWare
0x8000WLAN AP/STA concurrency
0x8000000WPA3 Personal (WPA-3 SAE)
0x10000000WPA3-Enterprise Suite B
0x20000000Enhanced open feature

wifi.isFeatureSupported7+

isFeatureSupported(featureId: number): boolean

Checks whether the device supports the specified WLAN feature.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.Core

Parameters

NameTypeMandatoryDescription
featureIdnumberYesFeature ID.

Return value

TypeDescription
booleanReturns true if the feature is supported; returns false otherwise.

Example

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

Obtains the device MAC address.

System API: This is a system API.

Required permissions: ohos.permission.GET_WIFI_LOCAL_MAC and ohos.permission.GET_WIFI_INFO (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
string[]MAC address obtained.

Example

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

Obtains IP information.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
IpInfoIP information obtained.

Example

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+

Represents IP information.

System capability: SystemCapability.Communication.WiFi.STA

NameTypeReadableWritableDescription
ipAddressnumberYesNoIP address.
gatewaynumberYesNoGateway.
netmasknumberYesNoSubnet mask.
primaryDnsnumberYesNoIP address of the preferred DNS server.
secondDnsnumberYesNoIP address of the alternate DNS server.
serverIpnumberYesNoIP address of the DHCP server.
leaseDurationnumberYesNoLease duration of the IP address.

wifi.getCountryCode7+

getCountryCode(): string

Obtains the country code.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.Core

Return value

TypeDescription
stringCountry code obtained.

Example

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

Re-associates with the network.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.reconnect7+

reconnect(): boolean

Reconnects to the network.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.getDeviceConfigs7+

getDeviceConfigs():  Array<WifiDeviceConfig>

Obtains network configuration.

System API: This is a system API.

Required permissions: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.GET_WIFI_CONFIG

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
 Array<WifiDeviceConfig>Array of network configuration obtained.

Example

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

Updates network configuration.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.SET_WIFI_CONFIG

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
configWifiDeviceConfigYesNew WLAN configuration.

Return value

TypeDescription
numberID of the updated network configuration. The value -1 indicates that the operation has failed.

Example

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

Disables network configuration.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
netIdnumberYesID of the network configuration to disable.

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.removeAllNetwork7+

removeAllNetwork(): boolean

Removes the configuration of all networks.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.removeDevice7+

removeDevice(id: number): boolean

Removes the specified network configuration.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
idnumberYesID of the network configuration to remove.

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.enableHotspot7+

enableHotspot(): boolean

Enables this hotspot.

System API: This is a system API.

Required permissions: ohos.permission.MANAGE_WIFI_HOTSPOT (available only to system applications)

System capability: SystemCapability.Communication.WiFi.AP.Core

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.disableHotspot7+

disableHotspot(): boolean

Disables this hotspot.

System API: This is a system API.

Required permissions: ohos.permission.MANAGE_WIFI_HOTSPOT (available only to system applications)

System capability: SystemCapability.Communication.WiFi.AP.Core

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.isHotspotDualBandSupported7+

isHotspotDualBandSupported(): boolean

Checks whether the hotspot supports dual band.

System API: This is a system API.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.MANAGE_WIFI_HOTSPOT (available only to system applications)

System capability: SystemCapability.Communication.WiFi.AP.Core

Return value

TypeDescription
booleanReturns true if the feature is supported; returns false otherwise.

Example

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

Checks whether this hotspot is active.

System API: This is a system API.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.AP.Core

Return value

TypeDescription
booleanReturns true if the hotspot is active; returns false otherwise.

Example

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

Sets hotspot configuration.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.GET_WIFI_CONFIG

System capability: SystemCapability.Communication.WiFi.AP.Core

Parameters

NameTypeMandatoryDescription
configHotspotConfigYesHotspot configuration to set.

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

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+

Represents the hotspot configuration.

System API: This is a system API.

System capability: SystemCapability.Communication.WiFi.AP.Core

NameTypeReadableWritableDescription
ssidstringYesNoSSID of the hotspot, in UTF-8 format.
securityTypeWifiSecurityTypeYesNoSecurity type.
bandnumberYesNoHotspot band. The value 1 stands for 2.4 GHz, the value 2 for 5 GHz, and the value 3 for dual band.
preSharedKeystringYesNoPSK of the hotspot.
maxConnnumberYesNoMaximum number of connections allowed.

wifi.getHotspotConfig7+

getHotspotConfig(): HotspotConfig

obtains hotspot configuration.

System API: This is a system API.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.GET_WIFI_CONFIG

System capability: SystemCapability.Communication.WiFi.AP.Core

Return value

TypeDescription
HotspotConfigHotspot configuration obtained.

Example

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>

Obtains information about the connected stations.

System API: This is a system API.

Required permissions: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.MANAGE_WIFI_HOTSPOT (available only to system applications)

System capability: SystemCapability.Communication.WiFi.AP.Core

Return value

TypeDescription
 Array<StationInfo>Connected stations obtained.

Example

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+

Represents the station information.

System API: This is a system API.

System capability: SystemCapability.Communication.WiFi.AP.Core

NameTypeReadableWritableDescription
namestringYesNoDevice name.
macAddressstringYesNoMAC address.
ipAddressstringYesNoIP address.

wifi.getP2pLinkedInfo8+

getP2pLinkedInfo(): Promise<WifiP2pLinkedInfo>

Obtains P2P link information. This API uses a promise to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Return value

TypeDescription
Promise<WifiP2pLinkedInfo>Promise used to return the P2P link information obtained.

WifiP2pLinkedInfo8+

Represents the P2P link information.

System capability: SystemCapability.Communication.WiFi.P2P

NameTypeReadableWritableDescription
connectStateP2pConnectStateYesNoP2P connection state.
isGroupOwnerbooleanYesNoWhether the device is the group owner.
groupOwnerAddrstringYesNoMAC address of the group.

P2pConnectState8+

Enumerates the P2P connection states.

System capability: SystemCapability.Communication.WiFi.P2P

NameValueDescription
DISCONNECTED0Disconnected.
CONNECTED1Connected.

wifi.getP2pLinkedInfo8+

getP2pLinkedInfo(callback: AsyncCallback<WifiP2pLinkedInfo>): void

Obtains P2P link information. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<WifiP2pLinkedInfo>YesCallback invoked to return the result. If the operation is successful, err is 0 and data is the P2P link information. If err is not 0, an error has occurred.

Example

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>

Obtains the current P2P group information. This API uses a promise to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Return value

TypeDescription
Promise<WifiP2pGroupInfo>Promise used to return the P2P group information obtained.

wifi.getCurrentGroup8+

getCurrentGroup(callback: AsyncCallback<WifiP2pGroupInfo>): void

Obtains the current P2P group information. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<WifiP2pGroupInfo>YesCallback invoked to return the result. If the operation is successful, err is 0 and data is the group information obtained. If err is not 0, an error has occurred.

Example

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

Obtains the peer device list in the P2P connection. This API uses a promise to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Return value

TypeDescription
Promise<WifiP2pDevice[]>Promise used to return the peer device list.

wifi.getP2pPeerDevices8+

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

Obtains the peer device list in the P2P connection. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<WifiP2pDevice[]>YesCallback invoked to return the result. If the operation is successful, err is 0 and data is the peer device list obtained. If err is not 0, an error has occurred.

Example

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+

Represents the P2P device information.

System capability: SystemCapability.Communication.WiFi.P2P

NameTypeReadableWritableDescription
deviceNamestringYesNoDevice name.
deviceAddressstringYesNoMAC address of the device.
primaryDeviceTypestringYesNoType of the primary device.
deviceStatusP2pDeviceStatusYesNoDevice status.
groupCapabilitysnumberYesNoGroup capabilities.

P2pDeviceStatus8+

Enumerates the P2P device states.

System capability: SystemCapability.Communication.WiFi.P2P

NameValueDescription
CONNECTED0Connected.
INVITED1Invited.
FAILED2Failed.
AVAILABLE3Available.
UNAVAILABLE4Unavailable.

wifi.createGroup8+

createGroup(config: WifiP2PConfig): boolean

Creates a P2P group.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
configWifiP2PConfigYesGroup configuration.

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

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+

Represents P2P group configuration.

System capability: SystemCapability.Communication.WiFi.P2P

NameTypeReadableWritableDescription
deviceAddressstringYesNoDevice address.
netIdnumberYesNoNetwork ID. The value -1 indicates a temporary group, and -2 indicates a persistent group.
passphrasestringYesNoPassphrase of the group.
groupNamestringYesNoName of the group.
goBandGroupOwnerBandYesNoFrequency band of the group.

GroupOwnerBand8+

Enumerates the P2P group frequency bands.

System capability: SystemCapability.Communication.WiFi.P2P

NameValueDescription
GO_BAND_AUTO0Auto.
GO_BAND_2GHZ12 GHz.
GO_BAND_5GHZ25 GHz.

wifi.removeGroup8+

removeGroup(): boolean

Removes this P2P group.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.p2pConnect8+

p2pConnect(config: WifiP2PConfig): boolean

Sets up a P2P connection.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
configWifiP2PConfigYesP2P group configuration.

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

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

Cancels this P2P connection.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.startDiscoverDevices8+

startDiscoverDevices(): boolean

Starts to discover devices.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.stopDiscoverDevices8+

stopDiscoverDevices(): boolean

Stops discovering devices.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

wifi.deletePersistentGroup8+

deletePersistentGroup(netId: number): boolean

Deletes a persistent group.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
netIdnumberYesID of the group to delete.

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

import wifi from '@ohos.wifi';

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

WifiP2pGroupInfo8+

Represents the P2P group information.

System capability: SystemCapability.Communication.WiFi.P2P

NameTypeReadableWritableDescription
isP2pGobooleanYesNoWhether the device is the group owner.
ownerInfoWifiP2pDeviceYesNoDevice information of the group.
passphrasestringYesNoPassphrase of the group.
interfacestringYesNoInterface name.
groupNamestringYesNoGroup name.
networkIdnumberYesNoNetwork ID.
frequencynumberYesNoFrequency of the group.
clientDevicesWifiP2pDevice[]YesNoList of connected devices.
goIpAddressstringYesNoIP address of the group.

wifi.setDeviceName8+

setDeviceName(devName: string): boolean

Sets the device name.

System API: This is a system API.

Required permissions: ohos.permission.SET_WIFI_INFO and ohos.permission.MANAGE_WIFI_CONNECTION (available only to system applications)

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
devNamestringYesDevice name to set.

Return value

TypeDescription
booleanReturns true if the operation is successful; returns false otherwise.

Example

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

Subscribes to WLAN state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of wifiStateChange.
callbackCallback<number>YesCallback invoked to return the WLAN state.

WLAN states

ValueDescription
0Deactivated
1Activated
2Activating
3Deactivating

wifi.off('wifiStateChange')7+

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

Unsubscribes from WLAN state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of wifiStateChange.
callbackCallback<number>NoCallback for the WLAN state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('wifiConnectionChange')7+

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

Subscribes to WLAN connection state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of wifiConnectionChange.
callbackCallback<number>YesCallback invoked to return the WLAN connection state.

WLAN connection states

ValueDescription
0Disconnected.
1Connected.

wifi.off('wifiConnectionChange')7+

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

Unsubscribes from WLAN connection state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of wifiConnectionChange.
callbackCallback<number>NoCallback for the WLAN connection state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('wifiScanStateChange')7+

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

Subscribes to WLAN scan state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of wifiScanStateChange.
callbackCallback<number>YesCallback invoked to return the WLAN scan state.

WLAN scan states

ValueDescription
0Scan failed.
1Scan successful.

wifi.off('wifiScanStateChange')7+

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

Unsubscribes from WLAN scan state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of wifiScanStateChange.
callbackCallback<number>NoCallback for the WLAN scan state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('wifiRssiChange')7+

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

Subscribes to RSSI changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of wifiRssiChange.
callbackCallback<number>YesCallback invoked to return the RSSI, in dBm.

wifi.off('wifiRssiChange')7+

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

Unsubscribes from RSSI changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of wifiRssiChange.
callbackCallback<number>NoCallback for the RSSI change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('streamChange')7+

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

Subscribes to Wi-Fi stream changes.

System API: This is a system API.

Required permissions: ohos.permission.MANAGE_WIFI_CONNECTION

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of streamChange.
callbackCallback<number>YesCallback invoked to return the Wi-Fi stream change, which can be any of the following values:
- 0: No stream.
- 1: Downward.
- 2: Upward.
- 3: Bidirectional.

wifi.off('streamChange')7+

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

Unsubscribes from Wi-Fi stream changes.

System API: This is a system API.

Required permissions: ohos.permission.MANAGE_WIFI_CONNECTION

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of streamChange.
callbackCallback<number>NoCallback for the Wi-Fi stream change, which can be any of the following values:
- 0: No stream.
- 1: Downward.
- 2: Upward.
- 3: Bidirectional.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('hotspotStateChange')7+

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

Subscribes to hotspot state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.AP.Core

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of hotspotStateChange.
callbackCallback<number>YesCallback invoked to return the hotspot state.

Hotspot states

ValueDescription
0Deactivated
1Activated
2Activating
3Deactivating

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.off('hotspotStateChange')7+

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

Unsubscribes from hotspot state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.AP.Core

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of hotspotStateChange.
callbackCallback<number>NoCallback for the hotspot state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

wifi.on('hotspotStaJoin')7+

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

Subscribes to the connection of an STA to a Wi-Fi hotspot.

Required permissions: ohos.permission.MANAGE_WIFI_HOTSPOT

System API: This is a system API.

System capability: SystemCapability.Communication.WiFi.AP.Core

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of hotspotStaJoin.
callbackCallback<StationInfo>YesCallback invoked when an STA is connected to a Wi-Fi hotspot.

wifi.off('hotspotStaJoin')7+

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

Unsubscribes from the connection of an STA to a Wi-Fi hotspot.

Required permissions: ohos.permission.MANAGE_WIFI_HOTSPOT

System API: This is a system API.

System capability: SystemCapability.Communication.WiFi.AP.Core

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of hotspotStaJoin.
callbackCallback<StationInfo>NoCallback for the connection of an STA to a Wi-Fi hotspot.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('hotspotStaLeave')7+

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

Subscribes to the disconnection of an STA from a Wi-Fi hotspot.

Required permissions: ohos.permission.MANAGE_WIFI_HOTSPOT

System API: This is a system API.

System capability: SystemCapability.Communication.WiFi.AP.Core

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of hotspotStaLeave.
callbackCallback<StationInf]>YesCallback invoked when an STA is disconnected from a Wi-Fi hotspot.

wifi.off('hotspotStaLeave')9+

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

Unsubscribes from the disconnection of an STA from a Wi-Fi hotspot.

Required permissions: ohos.permission.MANAGE_WIFI_HOTSPOT

System API: This is a system API.

System capability: SystemCapability.Communication.WiFi.AP.Core

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of hotspotStaLeave.
callbackCallback<StationInf]>NoCallback for the disconnection of an STA from a Wi-Fi hotspot.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('p2pStateChange')8+

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

Subscribes to P2P state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pStateChange.
callbackCallback<number>YesCallback invoked to return the P2P state.

P2P states

ValueDescription
1Available
2Opening
3Opened
4Closing
5Closed

wifi.off('p2pStateChange')8+

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

Unsubscribes from P2P state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pStateChange.
callbackCallback<number>NoCallback for the P2P state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('p2pConnectionChange')8+

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

Subscribes to P2P connection state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pConnectionChange.
callbackCallback<WifiP2pLinkedInfo>YesCallback invoked to return the P2P connection state.

wifi.off('p2pConnectionChange')8+

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

Unsubscribes from P2P connection state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pConnectionChange.
callbackCallback<WifiP2pLinkedInfo>NoCallback for the P2P connection state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('p2pDeviceChange')8+

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

Subscribes to P2P device state changes.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pDeviceChange.
callbackCallback<WifiP2pDevice>YesCallback invoked to return the P2P device state.

wifi.off('p2pDeviceChange')8+

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

Unsubscribes from P2P device state changes.

Required permissions: ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pDeviceChange.
callbackCallback<WifiP2pDevice>NoCallback for the P2P device state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('p2pPeerDeviceChange')8+

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

Subscribes to P2P peer device state changes.

Required permissions: ohos.permission.GET_WIFI_INFO and ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pPeerDeviceChange.
callbackCallback<WifiP2pDevice[]>YesCallback invoked to return the P2P peer device state.

wifi.off('p2pPeerDeviceChange')8+

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

Unsubscribes from P2P peer device state changes.

Required permissions: ohos.permission.LOCATION

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pPeerDeviceChange.
callbackCallback<WifiP2pDevice[]>NoCallback for the peer device state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('p2pPersistentGroupChange')8+

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

Subscribes to P2P persistent group state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pPersistentGroupChange.
callbackCallback<void>YesCallback invoked to return the P2P persistent group state.

wifi.off('p2pPersistentGroupChange')8+

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

Unsubscribes from P2P persistent group state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pPersistentGroupChange.
callbackCallback<void>NoCallback for the P2P persistent group state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

wifi.on('p2pDiscoveryChange')8+

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

Subscribes to P2P device discovery state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pDiscoveryChange.
callbackCallback<number>YesCallback invoked to return the P2P device discovery state.

P2P discovered device states

ValueDescription
0Initial state.
1Discovered.

wifi.off('p2pDiscoveryChange')8+

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

Unsubscribes from P2P device discovery state changes.

Required permissions: ohos.permission.GET_WIFI_INFO

System capability: SystemCapability.Communication.WiFi.P2P

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which has a fixed value of p2pDiscoveryChange.
callbackCallback<number>NoCallback for the P2P device discovery state change. If this parameter is not specified, all callbacks associated with the specified event will be unregistered.

Example

import wifi from '@ohos.wifi';

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

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

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

你可能感兴趣的鸿蒙文章

harmony 鸿蒙APIs

harmony 鸿蒙System Common Events (To Be Deprecated Soon)

harmony 鸿蒙System Common Events

harmony 鸿蒙API Reference Document Description

harmony 鸿蒙Enterprise Device Management Overview (for System Applications Only)

harmony 鸿蒙BundleStatusCallback

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

harmony 鸿蒙@ohos.distributedBundle (Distributed Bundle Management)

harmony 鸿蒙@ohos.bundle (Bundle)

harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (EnterpriseAdminExtensionAbility)

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