@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
| Type | Description |
|---|---|
| boolean | Returns 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
| Type | Description |
|---|---|
| boolean | Returns 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
| Type | Description |
|---|---|
| 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback< Array<WifiScanInfo>> | Yes | Callback 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
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| ssid | string | Yes | No | Service set identifier (SSID) of the hotspot, in UTF-8 format. The maximum length is 32 bytes. |
| bssid | string | Yes | No | Basic service set identifier (BSSID) of the hotspot, for example, 00:11:22:33:44:55. |
| capabilities | string | Yes | No | Hotspot capabilities. |
| securityType | WifiSecurityType | Yes | No | WLAN security type. |
| rssi | number | Yes | No | Received signal strength indicator (RSSI) of the hotspot, in dBm. |
| band | number | Yes | No | Frequency band of the WLAN access point (AP). |
| frequency | number | Yes | No | Frequency of the WLAN AP. |
| channelWidth | number | Yes | No | Channel width of the WLAN AP. |
| timestamp | number | Yes | No | Timestamp. |
WifiSecurityType
Enumerates the WLAN security types.
System capability: SystemCapability.Communication.WiFi.Core
| Name | Value | Description |
|---|---|---|
| WIFI_SEC_TYPE_INVALID | 0 | Invalid security type. |
| WIFI_SEC_TYPE_OPEN | 1 | Open security type. |
| WIFI_SEC_TYPE_WEP | 2 | Wired Equivalent Privacy (WEP). |
| WIFI_SEC_TYPE_PSK | 3 | Pre-shared key (PSK). |
| WIFI_SEC_TYPE_SAE | 4 | Simultaneous Authentication of Equals (SAE). |
WifiDeviceConfig
Represents the WLAN configuration.
System capability: SystemCapability.Communication.WiFi.STA
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| ssid | string | Yes | No | Hotspot SSID in UTF-8 format. The maximum length is 32 bytes. |
| bssid | string | Yes | No | Hotspot BSSID, for example, 00:11:22:33:44:55. |
| preSharedKey | string | Yes | No | PSK of the hotspot. The maximum length is 64 bytes. |
| isHiddenSsid | boolean | Yes | No | Whether the network is hidden. |
| securityType | WifiSecurityType | Yes | No | Security 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| config | WifiDeviceConfig | Yes | WLAN configuration to add. |
Return value
| Type | Description |
|---|---|
| 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| config | WifiDeviceConfig | Yes | WLAN configuration to add. |
| callback | AsyncCallback<boolean> | Yes | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| config | WifiDeviceConfig | Yes | WLAN configuration to remove. |
Return value
| Type | Description |
|---|---|
| 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| config | WifiDeviceConfig | Yes | WLAN configuration to remove. |
| callback | AsyncCallback<boolean> | Yes | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| rssi | number | Yes | RSSI of the hotspot, in dBm. |
| band | number | Yes | Frequency band of the WLAN AP. |
Return value
| Type | Description |
|---|---|
| number | Signal 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
| Type | Description |
|---|---|
| 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<WifiLinkedInfo> | Yes | Callback 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
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| ssid | string | Yes | No | Hotspot SSID in UTF-8 format. The maximum length is 32 bytes. |
| bssid | string | Yes | No | Hotspot BSSID, for example, 00:11:22:33:44:55. |
| rssi | number | Yes | No | RSSI of the hotspot, in dBm. |
| band | number | Yes | No | Frequency band of the WLAN AP. |
| linkSpeed | number | Yes | No | Speed of the WLAN AP. |
| frequency | number | Yes | No | Frequency of the WLAN AP. |
| isHidden | boolean | Yes | No | Whether to hide the WLAN AP. |
| isRestricted | boolean | Yes | No | Whether to restrict data volume at the WLAN AP. |
| macAddress | string | Yes | No | MAC address of the device. |
| ipAddress | number | Yes | No | IP address of the device that sets up the WLAN connection. |
| connState | ConnState | Yes | No | WLAN connection state. |
ConnState
Enumerates the WLAN connection states.
System capability: SystemCapability.Communication.WiFi.STA
| Name | Value | Description |
|---|---|---|
| SCANNING | 0 | The device is scanning for available APs. |
| CONNECTING | 1 | A WLAN connection is being established. |
| AUTHENTICATING | 2 | An authentication is being performed for a WLAN connection. |
| OBTAINING_IPADDR | 3 | The IP address of the WLAN connection is being acquired. |
| CONNECTED | 4 | A WLAN connection is established. |
| DISCONNECTING | 5 | The WLAN connection is being disconnected. |
| DISCONNECTED | 6 | The WLAN connection is disconnected. |
| UNKNOWN | 7 | Failed 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
| Type | Description |
|---|---|
| boolean | Returns 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| featureId | number | Yes | Feature ID. |
Return value
| Type | Description |
|---|---|
| boolean | Returns 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
| Type | Description |
|---|---|
| IpInfo | IP 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
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| ipAddress | number | Yes | No | IP address. |
| gateway | number | Yes | No | Gateway. |
| netmask | number | Yes | No | Subnet mask. |
| primaryDns | number | Yes | No | IP address of the preferred DNS server. |
| secondDns | number | Yes | No | IP address of the alternate DNS server. |
| serverIp | number | Yes | No | IP address of the DHCP server. |
| leaseDuration | number | Yes | No | Lease 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
| Type | Description |
|---|---|
| string | Country 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
| Type | Description |
|---|---|
| Promise<WifiP2pLinkedInfo> | Promise used to return the P2P link information obtained. |
WifiP2pLinkedInfo8+
Represents the P2P link information.
System capability: SystemCapability.Communication.WiFi.P2P
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| connectState | P2pConnectState | Yes | No | P2P connection state. |
| isGroupOwner | boolean | Yes | No | Whether the device is the group owner. |
| groupOwnerAddr | string | Yes | No | MAC address of the group. |
P2pConnectState8+
Enumerates the P2P connection states.
System capability: SystemCapability.Communication.WiFi.P2P
| Name | Value | Description |
|---|---|---|
| DISCONNECTED | 0 | Disconnected. |
| CONNECTED | 1 | Connected. |
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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<WifiP2pLinkedInfo> | Yes | Callback 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
| Type | Description |
|---|---|
| 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<WifiP2pGroupInfo> | Yes | Callback 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
| Type | Description |
|---|---|
| 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<WifiP2pDevice[]> | Yes | Callback 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
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| deviceName | string | Yes | No | Device name. |
| deviceAddress | string | Yes | No | MAC address of the device. |
| primaryDeviceType | string | Yes | No | Type of the primary device. |
| deviceStatus | P2pDeviceStatus | Yes | No | Device status. |
| groupCapabilitys | number | Yes | No | Group capabilities. |
P2pDeviceStatus8+
Enumerates the P2P device states.
System capability: SystemCapability.Communication.WiFi.P2P
| Name | Value | Description |
|---|---|---|
| CONNECTED | 0 | Connected. |
| INVITED | 1 | Invited. |
| FAILED | 2 | Failed. |
| AVAILABLE | 3 | Available. |
| UNAVAILABLE | 4 | Unavailable. |
wifi.createGroup8+
createGroup(config: WifiP2PConfig): boolean
Creates a P2P group.
Required permissions: ohos.permission.GET_WIFI_INFO
System capability: SystemCapability.Communication.WiFi.P2P
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| config | WifiP2PConfig | Yes | Group configuration. |
Return value
| Type | Description |
|---|---|
| boolean | Returns 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
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| deviceAddress | string | Yes | No | Device address. |
| netId | number | Yes | No | Network ID. The value -1 indicates a temporary group, and -2 indicates a persistent group. |
| passphrase | string | Yes | No | Passphrase of the group. |
| groupName | string | Yes | No | Name of the group. |
| goBand | GroupOwnerBand | Yes | No | Frequency band of the group. |
GroupOwnerBand8+
Enumerates the P2P group frequency bands.
System capability: SystemCapability.Communication.WiFi.P2P
| Name | Value | Description |
|---|---|---|
| GO_BAND_AUTO | 0 | Auto. |
| GO_BAND_2GHZ | 1 | 2 GHz. |
| GO_BAND_5GHZ | 2 | 5 GHz. |
wifi.removeGroup8+
removeGroup(): boolean
Removes this P2P group.
Required permissions: ohos.permission.GET_WIFI_INFO
System capability: SystemCapability.Communication.WiFi.P2P
Return value
| Type | Description |
|---|---|
| boolean | Returns 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| config | WifiP2PConfig | Yes | P2P group configuration. |
Return value
| Type | Description |
|---|---|
| boolean | Returns 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
| Type | Description |
|---|---|
| boolean | Returns 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
| Type | Description |
|---|---|
| boolean | Returns 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
| Type | Description |
|---|---|
| boolean | Returns 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
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| isP2pGo | boolean | Yes | No | Whether the device is the group owner. |
| ownerInfo | WifiP2pDevice | Yes | No | Device information of the group. |
| passphrase | string | Yes | No | Passphrase of the group. |
| interface | string | Yes | No | Interface name. |
| groupName | string | Yes | No | Group name. |
| networkId | number | Yes | No | Network ID. |
| frequency | number | Yes | No | Frequency of the group. |
| clientDevices | WifiP2pDevice[] | Yes | No | List of connected devices. |
| goIpAddress | string | Yes | No | IP 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of wifiStateChange. |
| callback | Callback<number> | Yes | Callback used to return the WLAN state. |
WLAN states
| Value | Description |
|---|---|
| 0 | Deactivated |
| 1 | Activated |
| 2 | Activating |
| 3 | Deactivating |
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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of wifiStateChange. |
| callback | Callback<number> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of wifiConnectionChange. |
| callback | Callback<number> | Yes | Callback used to return the WLAN connection state. |
WLAN connection states
| Value | Description |
|---|---|
| 0 | Disconnected. |
| 1 | Connected. |
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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of wifiConnectionChange. |
| callback | Callback<number> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of wifiScanStateChange. |
| callback | Callback<number> | Yes | Callback used to return the WLAN scan state. |
WLAN scan states
| Value | Description |
|---|---|
| 0 | Scan failed. |
| 1 | Scan 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of wifiScanStateChange. |
| callback | Callback<number> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of wifiRssiChange. |
| callback | Callback<number> | Yes | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of wifiRssiChange. |
| callback | Callback<number> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of hotspotStateChange. |
| callback | Callback<number> | Yes | Callback used to return the hotspot state. |
Hotspot states
| Value | Description |
|---|---|
| 0 | Deactivated |
| 1 | Activated |
| 2 | Activating |
| 3 | Deactivating |
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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of hotspotStateChange. |
| callback | Callback<number> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pStateChange. |
| callback | Callback<number> | Yes | Callback used to return the P2P state. |
P2P states
| Value | Description |
|---|---|
| 1 | Available |
| 2 | Opening |
| 3 | Opened |
| 4 | Closing |
| 5 | Closed |
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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pStateChange. |
| callback | Callback<number> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pConnectionChange. |
| callback | Callback<WifiP2pLinkedInfo> | Yes | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pConnectionChange. |
| callback | Callback<WifiP2pLinkedInfo> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pDeviceChange. |
| callback | Callback<WifiP2pDevice> | Yes | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pDeviceChange. |
| callback | Callback<WifiP2pDevice> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pPeerDeviceChange. |
| callback | Callback<WifiP2pDevice[]> | Yes | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pPeerDeviceChange. |
| callback | Callback<WifiP2pDevice[]> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pPersistentGroupChange. |
| callback | Callback<void> | Yes | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pPersistentGroupChange. |
| callback | Callback<void> | No | Callback 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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pDiscoveryChange. |
| callback | Callback<number> | Yes | Callback used to return the P2P device discovery state. |
P2P discovered device states
| Value | Description |
|---|---|
| 0 | Initial state. |
| 1 | Discovered. |
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
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which has a fixed value of p2pDiscoveryChange. |
| callback | Callback<number> | No | Callback 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);