openharmony 鸿蒙 js-apis-wifi

2025-06-12 浏览 (1)

@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. The APIs of this module are no longer maintained since API version 9. You are advised to use @ohos.wifiManager (WLAN).

Modules to Import

import wifi from '@ohos.wifi';

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.LOCATION or ohos.permission.GET_WIFI_PEERS_MAC ( available only for system applications)

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.LOCATION or ohos.permission.GET_WIFI_PEERS_MAC ( available only for system applications)

System capability: SystemCapability.Communication.WiFi.STA

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback< Array<WifiScanInfo>>YesCallback used 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. The maximum length is 32 bytes.
bssidstringYesNoBasic service set identifier (BSSID) of the hotspot, for example, 00:11:22:33:44:55.
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).

WifiDeviceConfig

Represents the WLAN configuration.

System capability: SystemCapability.Communication.WiFi.STA

NameTypeReadableWritableDescription
ssidstringYesNoService set identifier (SSID) of the hotspot, in UTF-8 format. The maximum length is 32 bytes.
bssidstringYesNoHotspot BSSID, for example, 00:11:22:33:44:55.
preSharedKeystringYesNoPSK of the hotspot. The maximum length is 64 bytes.
isHiddenSsidbooleanYesNoWhether the network is hidden.
securityTypeWifiSecurityTypeYesNoSecurity type.

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. The value true means the operation is successful; the value false means the opposite.

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 used 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 add.

Return value

TypeDescription
Promise<boolean>Promise used to return the result. The value true means the operation is successful; the value false means the opposite.

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 add.
callbackAsyncCallback<boolean>YesCallback used 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.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 used 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:wifi.WifiLinkedInfo) => {
    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
ssidstringYesNoService set identifier (SSID) of the hotspot, in UTF-8 format. The maximum length is 32 bytes.
bssidstringYesNoHotspot BSSID, for example, 00:11:22:33:44:55.
rssinumberYesNoReceived signal strength indicator (RSSI) 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.
macAddressstringYesNoMAC address of the device.
ipAddressnumberYesNoIP address of the device that sets up the WLAN connection.
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.

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.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.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.AP.Core

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

WifiP2pLinkedInfo8+

Represents the P2P link information obtained.

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 used 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:wifi.WifiP2pLinkedInfo) => {
   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 used 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:wifi.WifiP2pGroupInfo) => {
   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 used 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:wifi.WifiP2pDevice) => {
   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.
groupNamestringYesNoGroup name.
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:wifi.WifiP2pLinkedInfo) => {
        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:wifi.WifiP2pDevice) => {
        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:wifi.WifiP2pGroupInfo) => {
        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));
}

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.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 used 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 to unregister. If this parameter is not specified, all callbacks for 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 used 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 to unregister. If this parameter is not specified, all callbacks for 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 used 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 to unregister. If this parameter is not specified, all callbacks for 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 used 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 to unregister. If this parameter is not specified, all callbacks for 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('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 used 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 to unregister. If this parameter is not specified, all callbacks for the specified event will be unregistered.

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 used 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 to unregister. If this parameter is not specified, all callbacks for 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 used 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 to unregister. If this parameter is not specified, all callbacks for 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 used 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 to unregister. If this parameter is not specified, all callbacks for 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 used 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 to unregister. If this parameter is not specified, all callbacks for 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 used 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 to unregister. If this parameter is not specified, all callbacks for 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 used 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 to unregister. If this parameter is not specified, all callbacks for 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 鸿蒙Connectivity Kit (Short-Range Communication Service)

harmony 鸿蒙Bluetooth

harmony 鸿蒙Wifi

harmony 鸿蒙Bluetooth Error Codes

harmony 鸿蒙NFC Error Codes

harmony 鸿蒙SecureElement Error Codes

harmony 鸿蒙Wi-Fi Error Codes

harmony 鸿蒙@ohos.bluetooth.a2dp (Bluetooth A2DP Module) (System API)

harmony 鸿蒙@ohos.bluetooth.a2dp (Bluetooth A2DP Module)

harmony 鸿蒙@ohos.bluetooth.access (Bluetooth Access Module) (System API)

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