1e41f4b71Sopenharmony_ci# @ohos.wifiManager (WLAN) 2e41f4b71Sopenharmony_ciThe **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 devices over WLAN. 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ci> **NOTE** 5e41f4b71Sopenharmony_ci> 6e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. 7e41f4b71Sopenharmony_ci 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## Modules to Import 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci```ts 12e41f4b71Sopenharmony_ciimport { wifiManager } from '@kit.ConnectivityKit'; 13e41f4b71Sopenharmony_ci``` 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci## wifiManager.isWifiActive<sup>9+</sup> 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ciisWifiActive(): boolean 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ciChecks whether WLAN is enabled. 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 11. 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci**Return value** 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci | **Type**| **Description**| 29e41f4b71Sopenharmony_ci | -------- | -------- | 30e41f4b71Sopenharmony_ci | boolean | Returns **true** if WLAN is enabled; returns **false** otherwise.| 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci**Error codes** 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 37e41f4b71Sopenharmony_ci| -------- | -------- | 38e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 39e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci**Example** 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci```ts 44e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci try { 47e41f4b71Sopenharmony_ci let isWifiActive = wifiManager.isWifiActive(); 48e41f4b71Sopenharmony_ci console.info("isWifiActive:" + isWifiActive); 49e41f4b71Sopenharmony_ci }catch(error){ 50e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 51e41f4b71Sopenharmony_ci } 52e41f4b71Sopenharmony_ci``` 53e41f4b71Sopenharmony_ci 54e41f4b71Sopenharmony_ci## wifiManager.scan<sup>9+</sup><sup>(deprecated)</sup> 55e41f4b71Sopenharmony_ci 56e41f4b71Sopenharmony_ciscan(): void 57e41f4b71Sopenharmony_ci 58e41f4b71Sopenharmony_ciStarts a scan for WLAN. 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci> **NOTE** 61e41f4b71Sopenharmony_ci> 62e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. The substitute API is available only for system applications. 63e41f4b71Sopenharmony_ci 64e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.SET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci**Error codes** 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 73e41f4b71Sopenharmony_ci| -------- | -------- | 74e41f4b71Sopenharmony_ci| 201 | Permission denied. | 75e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 76e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ci**Example** 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci```ts 81e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci try { 84e41f4b71Sopenharmony_ci wifiManager.scan(); 85e41f4b71Sopenharmony_ci }catch(error){ 86e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 87e41f4b71Sopenharmony_ci } 88e41f4b71Sopenharmony_ci``` 89e41f4b71Sopenharmony_ci 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci## wifiManager.getScanResults<sup>9+</sup><sup>(deprecated)</sup> 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_cigetScanResults(): Promise<Array<WifiScanInfo>> 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ciObtains the scan result. This API uses a promise to return the result. 96e41f4b71Sopenharmony_ci 97e41f4b71Sopenharmony_ci> **NOTE** 98e41f4b71Sopenharmony_ci> 99e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [wifiManager.getScanInfoList](#wifimanagergetscaninfolist10) instead. 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO and (ohos.permission.GET_WIFI_PEERS_MAC or (ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION)) 102e41f4b71Sopenharmony_ciohos.permission.GET_WIFI_PEERS_MAC is available only for system applications. 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci**Return value** 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci| **Type**| **Description**| 109e41f4b71Sopenharmony_ci| -------- | -------- | 110e41f4b71Sopenharmony_ci| Promise< Array<[WifiScanInfo](#wifiscaninfo9)> > | Promise used to return the hotspots detected.| 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci**Error codes** 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 117e41f4b71Sopenharmony_ci| -------- | -------- | 118e41f4b71Sopenharmony_ci| 201 | Permission denied. | 119e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 120e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci## wifiManager.getScanResults<sup>9+</sup><sup>(deprecated)</sup> 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_cigetScanResults(callback: AsyncCallback<Array<WifiScanInfo>>): void 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ciObtains the scan result. This API uses an asynchronous callback to return the result. 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ci> **NOTE** 129e41f4b71Sopenharmony_ci> 130e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [wifiManager.getScanInfoList](#wifimanagergetscaninfolist10) instead. 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO and (ohos.permission.GET_WIFI_PEERS_MAC or (ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION)) 133e41f4b71Sopenharmony_ciohos.permission.GET_WIFI_PEERS_MAC is available only for system applications. 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 136e41f4b71Sopenharmony_ci 137e41f4b71Sopenharmony_ci**Parameters** 138e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 139e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 140e41f4b71Sopenharmony_ci| callback | AsyncCallback< Array<[WifiScanInfo](#wifiscaninfo9)>> | 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.| 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci**Error codes** 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 147e41f4b71Sopenharmony_ci| -------- | -------- | 148e41f4b71Sopenharmony_ci| 201 | Permission denied. | 149e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 150e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci**Example** 153e41f4b71Sopenharmony_ci```ts 154e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci wifiManager.getScanResults((err, result) => { 157e41f4b71Sopenharmony_ci if (err) { 158e41f4b71Sopenharmony_ci console.error("get scan info error"); 159e41f4b71Sopenharmony_ci return; 160e41f4b71Sopenharmony_ci } 161e41f4b71Sopenharmony_ci 162e41f4b71Sopenharmony_ci let len = result.length; 163e41f4b71Sopenharmony_ci console.log("wifi received scan info: " + len); 164e41f4b71Sopenharmony_ci for (let i = 0; i < len; ++i) { 165e41f4b71Sopenharmony_ci console.info("ssid: " + result[i].ssid); 166e41f4b71Sopenharmony_ci console.info("bssid: " + result[i].bssid); 167e41f4b71Sopenharmony_ci console.info("capabilities: " + result[i].capabilities); 168e41f4b71Sopenharmony_ci console.info("securityType: " + result[i].securityType); 169e41f4b71Sopenharmony_ci console.info("rssi: " + result[i].rssi); 170e41f4b71Sopenharmony_ci console.info("band: " + result[i].band); 171e41f4b71Sopenharmony_ci console.info("frequency: " + result[i].frequency); 172e41f4b71Sopenharmony_ci console.info("channelWidth: " + result[i].channelWidth); 173e41f4b71Sopenharmony_ci console.info("timestamp: " + result[i].timestamp); 174e41f4b71Sopenharmony_ci } 175e41f4b71Sopenharmony_ci }); 176e41f4b71Sopenharmony_ci 177e41f4b71Sopenharmony_ci wifiManager.getScanResults().then(result => { 178e41f4b71Sopenharmony_ci let len = result.length; 179e41f4b71Sopenharmony_ci console.log("wifi received scan info: " + len); 180e41f4b71Sopenharmony_ci for (let i = 0; i < len; ++i) { 181e41f4b71Sopenharmony_ci console.info("ssid: " + result[i].ssid); 182e41f4b71Sopenharmony_ci console.info("bssid: " + result[i].bssid); 183e41f4b71Sopenharmony_ci console.info("capabilities: " + result[i].capabilities); 184e41f4b71Sopenharmony_ci console.info("securityType: " + result[i].securityType); 185e41f4b71Sopenharmony_ci console.info("rssi: " + result[i].rssi); 186e41f4b71Sopenharmony_ci console.info("band: " + result[i].band); 187e41f4b71Sopenharmony_ci console.info("frequency: " + result[i].frequency); 188e41f4b71Sopenharmony_ci console.info("channelWidth: " + result[i].channelWidth); 189e41f4b71Sopenharmony_ci console.info("timestamp: " + result[i].timestamp); 190e41f4b71Sopenharmony_ci } 191e41f4b71Sopenharmony_ci }).catch((err:number) => { 192e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(err)); 193e41f4b71Sopenharmony_ci }); 194e41f4b71Sopenharmony_ci``` 195e41f4b71Sopenharmony_ci 196e41f4b71Sopenharmony_ci## wifiManager.getScanResultsSync<sup>9+</sup><sup>(deprecated)</sup> 197e41f4b71Sopenharmony_ci 198e41f4b71Sopenharmony_cigetScanResultsSync(): Array<[WifiScanInfo](#wifiscaninfo9)> 199e41f4b71Sopenharmony_ci 200e41f4b71Sopenharmony_ciObtains the scan result. This API returns the result synchronously. 201e41f4b71Sopenharmony_ci 202e41f4b71Sopenharmony_ci> **NOTE** 203e41f4b71Sopenharmony_ci> 204e41f4b71Sopenharmony_ci> This API is supported since API version 9 and deprecated since API version 10. Use [wifiManager.getScanInfoList](#wifimanagergetscaninfolist10) instead. 205e41f4b71Sopenharmony_ci 206e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO and (ohos.permission.GET_WIFI_PEERS_MAC or (ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION)) 207e41f4b71Sopenharmony_ciohos.permission.GET_WIFI_PEERS_MAC is available only for system applications. 208e41f4b71Sopenharmony_ci 209e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 210e41f4b71Sopenharmony_ci 211e41f4b71Sopenharmony_ci**Return value** 212e41f4b71Sopenharmony_ci 213e41f4b71Sopenharmony_ci| **Type**| **Description**| 214e41f4b71Sopenharmony_ci| -------- | -------- | 215e41f4b71Sopenharmony_ci| Array<[WifiScanInfo](#wifiscaninfo9)> | Scan result obtained.| 216e41f4b71Sopenharmony_ci 217e41f4b71Sopenharmony_ci**Error codes** 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 220e41f4b71Sopenharmony_ci 221e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 222e41f4b71Sopenharmony_ci| -------- | -------- | 223e41f4b71Sopenharmony_ci| 201 | Permission denied. | 224e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 225e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 226e41f4b71Sopenharmony_ci 227e41f4b71Sopenharmony_ci**Example** 228e41f4b71Sopenharmony_ci 229e41f4b71Sopenharmony_ci```ts 230e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ci try { 233e41f4b71Sopenharmony_ci let scanInfoList = wifiManager.getScanResultsSync(); 234e41f4b71Sopenharmony_ci console.info("scanInfoList:" + JSON.stringify(scanInfoList)); 235e41f4b71Sopenharmony_ci let len = scanInfoList.length; 236e41f4b71Sopenharmony_ci console.log("wifi received scan info: " + len); 237e41f4b71Sopenharmony_ci if(len > 0){ 238e41f4b71Sopenharmony_ci for (let i = 0; i < len; ++i) { 239e41f4b71Sopenharmony_ci console.info("ssid: " + scanInfoList[i].ssid); 240e41f4b71Sopenharmony_ci console.info("bssid: " + scanInfoList[i].bssid); 241e41f4b71Sopenharmony_ci console.info("capabilities: " + scanInfoList[i].capabilities); 242e41f4b71Sopenharmony_ci console.info("securityType: " + scanInfoList[i].securityType); 243e41f4b71Sopenharmony_ci console.info("rssi: " + scanInfoList[i].rssi); 244e41f4b71Sopenharmony_ci console.info("band: " + scanInfoList[i].band); 245e41f4b71Sopenharmony_ci console.info("frequency: " + scanInfoList[i].frequency); 246e41f4b71Sopenharmony_ci console.info("channelWidth: " + scanInfoList[i].channelWidth); 247e41f4b71Sopenharmony_ci console.info("timestamp: " + scanInfoList[i].timestamp); 248e41f4b71Sopenharmony_ci } 249e41f4b71Sopenharmony_ci } 250e41f4b71Sopenharmony_ci }catch(error){ 251e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 252e41f4b71Sopenharmony_ci } 253e41f4b71Sopenharmony_ci 254e41f4b71Sopenharmony_ci``` 255e41f4b71Sopenharmony_ci 256e41f4b71Sopenharmony_ci## wifiManager.getScanInfoList<sup>10+</sup> 257e41f4b71Sopenharmony_ci 258e41f4b71Sopenharmony_cigetScanInfoList(): Array<WifiScanInfo> 259e41f4b71Sopenharmony_ci 260e41f4b71Sopenharmony_ciObtains the scanning result. 261e41f4b71Sopenharmony_ci 262e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 263e41f4b71Sopenharmony_ci 264e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 265e41f4b71Sopenharmony_ci 266e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 267e41f4b71Sopenharmony_ci 268e41f4b71Sopenharmony_ci**Return value** 269e41f4b71Sopenharmony_ci 270e41f4b71Sopenharmony_ci| **Type**| **Description**| 271e41f4b71Sopenharmony_ci| -------- | -------- | 272e41f4b71Sopenharmony_ci| Array<[WifiScanInfo](#wifiscaninfo9)> | Hotspots detected. If the caller has the ohos.permission.GET_WIFI_PEERS_MAC permission (available only for system applications), **bssid** in the return value is a real device address. Otherwise, **bssid** is a random device address.| 273e41f4b71Sopenharmony_ci 274e41f4b71Sopenharmony_ci**Error codes** 275e41f4b71Sopenharmony_ci 276e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 277e41f4b71Sopenharmony_ci 278e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 279e41f4b71Sopenharmony_ci| -------- | -------- | 280e41f4b71Sopenharmony_ci| 201 | Permission denied. | 281e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 282e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci**Example** 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_ci```ts 287e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 288e41f4b71Sopenharmony_ci 289e41f4b71Sopenharmony_ci try { 290e41f4b71Sopenharmony_ci let scanInfoList = wifiManager.getScanInfoList(); 291e41f4b71Sopenharmony_ci console.info("scanInfoList:" + JSON.stringify(scanInfoList)); 292e41f4b71Sopenharmony_ci let len = scanInfoList.length; 293e41f4b71Sopenharmony_ci console.log("wifi received scan info: " + len); 294e41f4b71Sopenharmony_ci if(len > 0){ 295e41f4b71Sopenharmony_ci for (let i = 0; i < len; ++i) { 296e41f4b71Sopenharmony_ci console.info("ssid: " + scanInfoList[i].ssid); 297e41f4b71Sopenharmony_ci console.info("bssid: " + scanInfoList[i].bssid); 298e41f4b71Sopenharmony_ci console.info("capabilities: " + scanInfoList[i].capabilities); 299e41f4b71Sopenharmony_ci console.info("securityType: " + scanInfoList[i].securityType); 300e41f4b71Sopenharmony_ci console.info("rssi: " + scanInfoList[i].rssi); 301e41f4b71Sopenharmony_ci console.info("band: " + scanInfoList[i].band); 302e41f4b71Sopenharmony_ci console.info("frequency: " + scanInfoList[i].frequency); 303e41f4b71Sopenharmony_ci console.info("channelWidth: " + scanInfoList[i].channelWidth); 304e41f4b71Sopenharmony_ci console.info("timestamp: " + scanInfoList[i].timestamp); 305e41f4b71Sopenharmony_ci console.info("supportedWifiCategory: " + scanInfoList[i].supportedWifiCategory); 306e41f4b71Sopenharmony_ci console.info("isHiLinkNetwork: " + scanInfoList[i].isHiLinkNetwork); 307e41f4b71Sopenharmony_ci } 308e41f4b71Sopenharmony_ci } 309e41f4b71Sopenharmony_ci }catch(error){ 310e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 311e41f4b71Sopenharmony_ci } 312e41f4b71Sopenharmony_ci 313e41f4b71Sopenharmony_ci``` 314e41f4b71Sopenharmony_ci 315e41f4b71Sopenharmony_ci## WifiScanInfo<sup>9+</sup> 316e41f4b71Sopenharmony_ci 317e41f4b71Sopenharmony_ciRepresents WLAN hotspot information. 318e41f4b71Sopenharmony_ci 319e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 320e41f4b71Sopenharmony_ci 321e41f4b71Sopenharmony_ci 322e41f4b71Sopenharmony_ci| **Name**| **Type**| **Readable**| **Writable**| **Description**| 323e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 324e41f4b71Sopenharmony_ci| ssid | string | Yes| No| Service set identifier (SSID) of the hotspot, in UTF-8 format. The maximum length is 32 bytes.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 325e41f4b71Sopenharmony_ci| bssid | string | Yes| No| Basic service set identifier (BSSID) of the hotspot, for example, **00:11:22:33:44:55**.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 326e41f4b71Sopenharmony_ci| bssidType<sup>10+</sup>| [DeviceAddressType](#deviceaddresstype10) | Yes| No| BSSID type of the hotspot.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 327e41f4b71Sopenharmony_ci| capabilities | string | Yes| No| Hotspot capabilities.| 328e41f4b71Sopenharmony_ci| securityType | [WifiSecurityType](#wifisecuritytype9) | Yes| No| WLAN security type.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 329e41f4b71Sopenharmony_ci| rssi | number | Yes| No| Received signal strength indicator (RSSI) of the hotspot, in dBm.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 330e41f4b71Sopenharmony_ci| band | number | Yes| No| Frequency band of the WLAN access point (AP). The value **1** indicates 2.4 GHz, and **2** indicates 5 GHz.| 331e41f4b71Sopenharmony_ci| frequency | number | Yes| No| Frequency of the WLAN AP.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 332e41f4b71Sopenharmony_ci| channelWidth | number | Yes| No| Channel width of the WLAN AP. For details, see [WifiChannelWidth](#wifichannelwidth9).| 333e41f4b71Sopenharmony_ci| centerFrequency0 | number | Yes| No| Center frequency of the hotspot.| 334e41f4b71Sopenharmony_ci| centerFrequency1 | number | Yes| No| Center frequency of the hotspot. If the hotspot uses two non-overlapping WLAN channels, two center frequencies, namely **centerFrequency0** and **centerFrequency1**, are returned.| 335e41f4b71Sopenharmony_ci| infoElems | Array<[WifiInfoElem](#wifiinfoelem9)> | Yes| No| Information elements.| 336e41f4b71Sopenharmony_ci| timestamp | number | Yes| No| Timestamp.| 337e41f4b71Sopenharmony_ci| supportedWifiCategory<sup>12+</sup> | [WifiCategory](#wificategory12) | Yes| No| Highest Wi-Fi category supported by the hotspot.| 338e41f4b71Sopenharmony_ci| isHiLinkNetwork<sup>12+</sup> | boolean | Yes| No| Whether the hotspot supports HiLink. The value **true** indicates that the hotspot supports HiLink. The value **false** means the opposite.| 339e41f4b71Sopenharmony_ci 340e41f4b71Sopenharmony_ci## DeviceAddressType<sup>10+</sup> 341e41f4b71Sopenharmony_ci 342e41f4b71Sopenharmony_ciEnumerates the Wi-Fi device address (MAC/BSSID) types. 343e41f4b71Sopenharmony_ci 344e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.Core 345e41f4b71Sopenharmony_ci 346e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 347e41f4b71Sopenharmony_ci 348e41f4b71Sopenharmony_ci| **Name**| **Value**| **Description**| 349e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 350e41f4b71Sopenharmony_ci| RANDOM_DEVICE_ADDRESS | 0 | Random device address.| 351e41f4b71Sopenharmony_ci| REAL_DEVICE_ADDRESS | 1 | Read device address.| 352e41f4b71Sopenharmony_ci 353e41f4b71Sopenharmony_ci## WifiSecurityType<sup>9+</sup> 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ciEnumerates the WLAN security types. 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.Core 358e41f4b71Sopenharmony_ci 359e41f4b71Sopenharmony_ci 360e41f4b71Sopenharmony_ci| **Name**| **Value**| **Description**| 361e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 362e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_INVALID | 0 | Invalid security type.| 363e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_OPEN | 1 | Open security type.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 364e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_WEP | 2 | Wired Equivalent Privacy (WEP). The candidate network configuration does not support this encryption type.| 365e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_PSK | 3 | Pre-shared key (PSK).| 366e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_SAE | 4 | Simultaneous Authentication of Equals (SAE).| 367e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_EAP | 5 | Extensible Authentication protocol (EAP).| 368e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_EAP_SUITE_B | 6 | Suite B 192-bit encryption.| 369e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_OWE | 7 | Opportunistic Wireless Encryption (OWE).| 370e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_WAPI_CERT | 8 | WLAN Authentication and Privacy Infrastructure (WAPI) in certificate-based mode (WAPI-CERT).| 371e41f4b71Sopenharmony_ci| WIFI_SEC_TYPE_WAPI_PSK | 9 | WAPI-PSK.| 372e41f4b71Sopenharmony_ci 373e41f4b71Sopenharmony_ci 374e41f4b71Sopenharmony_ci## WifiBandType<sup>10+</sup> 375e41f4b71Sopenharmony_ci 376e41f4b71Sopenharmony_ciEnumerates the Wi-Fi band types. 377e41f4b71Sopenharmony_ci 378e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 379e41f4b71Sopenharmony_ci 380e41f4b71Sopenharmony_ci| **Name**| **Value**| **Description**| 381e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 382e41f4b71Sopenharmony_ci| WIFI_BAND_NONE | 0 | Invalid band type| 383e41f4b71Sopenharmony_ci| WIFI_BAND_2G | 1 | 2.4 GHz| 384e41f4b71Sopenharmony_ci| WIFI_BAND_5G | 2 | 5 GHz| 385e41f4b71Sopenharmony_ci| WIFI_BAND_6G | 3 | 6 GHz| 386e41f4b71Sopenharmony_ci| WIFI_BAND_60G | 4 | 60 GHz| 387e41f4b71Sopenharmony_ci 388e41f4b71Sopenharmony_ci## WifiStandard<sup>10+</sup> 389e41f4b71Sopenharmony_ci 390e41f4b71Sopenharmony_ciEnumerates the Wi-Fi standards. 391e41f4b71Sopenharmony_ci 392e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 393e41f4b71Sopenharmony_ci 394e41f4b71Sopenharmony_ci| **Name**| **Value**| **Description**| 395e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 396e41f4b71Sopenharmony_ci| WIFI_STANDARD_UNDEFINED | 0 | Invalid Wi-Fi standard| 397e41f4b71Sopenharmony_ci| WIFI_STANDARD_11A | 1 | 802.11a| 398e41f4b71Sopenharmony_ci| WIFI_STANDARD_11B | 2 | 802.11b| 399e41f4b71Sopenharmony_ci| WIFI_STANDARD_11G | 3 | 802.11g| 400e41f4b71Sopenharmony_ci| WIFI_STANDARD_11N | 4 | 802.11n| 401e41f4b71Sopenharmony_ci| WIFI_STANDARD_11AC | 5 | 802.11ac| 402e41f4b71Sopenharmony_ci| WIFI_STANDARD_11AX | 6 | 802.11ax| 403e41f4b71Sopenharmony_ci| WIFI_STANDARD_11AD | 7 | 802.11ad| 404e41f4b71Sopenharmony_ci 405e41f4b71Sopenharmony_ci## WifiInfoElem<sup>9+</sup> 406e41f4b71Sopenharmony_ci 407e41f4b71Sopenharmony_ciRepresents a WLAN information element. 408e41f4b71Sopenharmony_ci 409e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 410e41f4b71Sopenharmony_ci 411e41f4b71Sopenharmony_ci 412e41f4b71Sopenharmony_ci| **Name**| **Type**| **Readable**| **Writable**| **Description**| 413e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 414e41f4b71Sopenharmony_ci| eid | number | Yes| No| ID of the information element.| 415e41f4b71Sopenharmony_ci| content | Uint8Array | Yes| No| Content of the information element.| 416e41f4b71Sopenharmony_ci 417e41f4b71Sopenharmony_ci 418e41f4b71Sopenharmony_ci## WifiChannelWidth<sup>9+</sup> 419e41f4b71Sopenharmony_ci 420e41f4b71Sopenharmony_ciEnumerates the WLAN channel widths. 421e41f4b71Sopenharmony_ci 422e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 423e41f4b71Sopenharmony_ci 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ci| **Name**| **Value**| **Description**| 426e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 427e41f4b71Sopenharmony_ci| WIDTH_20MHZ | 0 | 20 MHz| 428e41f4b71Sopenharmony_ci| WIDTH_40MHZ | 1 | 40 MHz| 429e41f4b71Sopenharmony_ci| WIDTH_80MHZ | 2 | 80 MHz| 430e41f4b71Sopenharmony_ci| WIDTH_160MHZ | 3 | 160 MHz| 431e41f4b71Sopenharmony_ci| WIDTH_80MHZ_PLUS | 4 | 80 MHz<sup>+</sup>| 432e41f4b71Sopenharmony_ci| WIDTH_INVALID | 5 | Invalid value| 433e41f4b71Sopenharmony_ci 434e41f4b71Sopenharmony_ci 435e41f4b71Sopenharmony_ci## WifiDeviceConfig<sup>9+</sup> 436e41f4b71Sopenharmony_ci 437e41f4b71Sopenharmony_ciRepresents the WLAN configuration. 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 440e41f4b71Sopenharmony_ci 441e41f4b71Sopenharmony_ci 442e41f4b71Sopenharmony_ci| **Name**| **Type**| **Readable**| **Writable**| **Description**| 443e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 444e41f4b71Sopenharmony_ci| ssid | string | Yes| No| SSID of the hotspot, in UTF-8 format. The maximum length is 32 bytes.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 445e41f4b71Sopenharmony_ci| bssid | string | Yes| No| Hotspot BSSID, for example, **00:11:22:33:44:55**.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 446e41f4b71Sopenharmony_ci| bssidType<sup>10+</sup> | [DeviceAddressType](#deviceaddresstype10) | Yes| No| BSSID type of the hotspot.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 447e41f4b71Sopenharmony_ci| preSharedKey | string | Yes| No| PSK of the hotspot, which cannot exceed 64 bytes.<br>When **securityType** is **WIFI_SEC_TYPE_OPEN**, this parameter must be an empty string. When **securityType** is any other value, this parameter cannot be empty.<br>When **securityType** is **WIFI_SEC_TYPE_WEP**, the PSK must be of 5, 10, 13, 26, 16, or 32 bytes. If the PSK length is 10, 26, 16, or 32 bytes, the PSK must be a hexadecimal number.<br>When **securityType** is **WIFI_SEC_TYPE_SAE**, the minimum PSK length is 1 byte.<br>When **securityType** is **WIFI_SEC_TYPE_PSK**, the minimum PSK length is 8 bytes.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 448e41f4b71Sopenharmony_ci| isHiddenSsid | boolean | Yes| No| Whether the network is hidden.| 449e41f4b71Sopenharmony_ci| securityType | [WifiSecurityType](#wifisecuritytype9)| Yes| No| Security type.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 450e41f4b71Sopenharmony_ci| eapConfig<sup>10+</sup> | [WifiEapConfig](#wifieapconfig10) | Yes| No| EAP configuration. This parameter is mandatory only when **securityType** is **WIFI_SEC_TYPE_EAP**.| 451e41f4b71Sopenharmony_ci| wapiConfig<sup>12+</sup> | [WifiWapiConfig](#wifiwapiconfig12) | Yes| No| WAPI configuration. This parameter is mandatory only when **securityType** is **WIFI_SEC_TYPE_WAPI_CERT** or** WIFI_SEC_TYPE_WAPI_PSK**.| 452e41f4b71Sopenharmony_ci 453e41f4b71Sopenharmony_ci## WifiEapConfig<sup>10+</sup> 454e41f4b71Sopenharmony_ci 455e41f4b71Sopenharmony_ciRepresents EAP configuration information. 456e41f4b71Sopenharmony_ci 457e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 458e41f4b71Sopenharmony_ci 459e41f4b71Sopenharmony_ci| **Name**| **Type**| **Readable**| **Writable**| **Description**| 460e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 461e41f4b71Sopenharmony_ci| eapMethod | [EapMethod](#eapmethod10) | Yes| No| EAP authentication method.| 462e41f4b71Sopenharmony_ci| phase2Method | [Phase2Method](#phase2method10) | Yes| No| Phase 2 authentication method. This parameter is mandatory only when **eapMethod** is **EAP_PEAP** or **EAP_TTLS**.| 463e41f4b71Sopenharmony_ci| identity | string | Yes| No| Identity Information. When **eapMethod** is **EAP_PEAP**, **EAP_TLS**, or **EAP_PWD**, this parameter cannot be empty.| 464e41f4b71Sopenharmony_ci| anonymousIdentity | string | Yes| No| Anonymous identity. This parameter is not used currently.| 465e41f4b71Sopenharmony_ci| password | string | Yes| No| Password. When **eapMethod** is **EAP_PEAP** or **EAP_PWD**, this parameter cannot be empty.| 466e41f4b71Sopenharmony_ci| caCertAlias | string | Yes| No| CA certificate alias.| 467e41f4b71Sopenharmony_ci| caPath | string | Yes| No| CA certificate path.| 468e41f4b71Sopenharmony_ci| clientCertAlias | string | Yes| No| Client certificate alias.| 469e41f4b71Sopenharmony_ci| certEntry | Uint8Array | Yes| Yes| CA certificate content. If **eapMethod** is **EAP_TLS** and this parameter is not specified, **clientCertAlias** cannot be empty.| 470e41f4b71Sopenharmony_ci| certPassword | string | Yes| Yes| CA certificate password.| 471e41f4b71Sopenharmony_ci| altSubjectMatch | string | Yes| No| A string to match the alternate subject.| 472e41f4b71Sopenharmony_ci| domainSuffixMatch | string | Yes| No| A string to match the domain suffix.| 473e41f4b71Sopenharmony_ci| realm | string | Yes| No| Realm for the passpoint credential.| 474e41f4b71Sopenharmony_ci| plmn | string | Yes| No| Public land mobile network (PLMN) of the passpoint credential provider.| 475e41f4b71Sopenharmony_ci| eapSubId | number | Yes| No| Sub-ID of the SIM card.| 476e41f4b71Sopenharmony_ci 477e41f4b71Sopenharmony_ci 478e41f4b71Sopenharmony_ci## WifiWapiConfig<sup>12+</sup> 479e41f4b71Sopenharmony_ci 480e41f4b71Sopenharmony_ciRepresents WAPI configuration. 481e41f4b71Sopenharmony_ci 482e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 483e41f4b71Sopenharmony_ci 484e41f4b71Sopenharmony_ci| **Name**| **Type**| **Readable**| **Writable**| **Description**| 485e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 486e41f4b71Sopenharmony_ci| wapiPskType | [WapiPskType](#wapipsktype12)| Yes| Yes| PSK type.| 487e41f4b71Sopenharmony_ci| wapiAsCert | string | No| Yes| AS certificate.| 488e41f4b71Sopenharmony_ci| wapiUserCert | string | No| Yes| User Certificate.| 489e41f4b71Sopenharmony_ci 490e41f4b71Sopenharmony_ci## WapiPskType<sup>12+</sup> 491e41f4b71Sopenharmony_ci 492e41f4b71Sopenharmony_ciEnumerates the WAPI authentication types. 493e41f4b71Sopenharmony_ci 494e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.Core 495e41f4b71Sopenharmony_ci 496e41f4b71Sopenharmony_ci| Name| Value| Description| 497e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 498e41f4b71Sopenharmony_ci| WAPI_PSK_ASCII | 0 | ASCII.| 499e41f4b71Sopenharmony_ci| WAPI_PSK_HEX | 1 | HEX.| 500e41f4b71Sopenharmony_ci 501e41f4b71Sopenharmony_ci## EapMethod<sup>10+</sup> 502e41f4b71Sopenharmony_ci 503e41f4b71Sopenharmony_ciEnumerates the EAP authentication methods. 504e41f4b71Sopenharmony_ci 505e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 506e41f4b71Sopenharmony_ci 507e41f4b71Sopenharmony_ci| Name| Value| Description| 508e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 509e41f4b71Sopenharmony_ci| EAP_NONE | 0 | Not specified.| 510e41f4b71Sopenharmony_ci| EAP_PEAP | 1 | PEAP.| 511e41f4b71Sopenharmony_ci| EAP_TLS | 2 | TLS.| 512e41f4b71Sopenharmony_ci| EAP_TTLS | 3 | TTLS.| 513e41f4b71Sopenharmony_ci| EAP_PWD | 4 | Password.| 514e41f4b71Sopenharmony_ci| EAP_SIM | 5 | SIM.| 515e41f4b71Sopenharmony_ci| EAP_AKA | 6 | AKA.| 516e41f4b71Sopenharmony_ci| EAP_AKA_PRIME | 7 | AKA Prime.| 517e41f4b71Sopenharmony_ci| EAP_UNAUTH_TLS | 8 | UNAUTH TLS.| 518e41f4b71Sopenharmony_ci 519e41f4b71Sopenharmony_ci## Phase2Method<sup>10+</sup> 520e41f4b71Sopenharmony_ci 521e41f4b71Sopenharmony_ciEnumerates the Phase 2 authentication methods. 522e41f4b71Sopenharmony_ci 523e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 524e41f4b71Sopenharmony_ci 525e41f4b71Sopenharmony_ci| Name| Value| Description| 526e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 527e41f4b71Sopenharmony_ci| PHASE2_NONE | 0 | Not specified.| 528e41f4b71Sopenharmony_ci| PHASE2_PAP | 1 | PAP.| 529e41f4b71Sopenharmony_ci| PHASE2_MSCHAP | 2 | MS-CHAP.| 530e41f4b71Sopenharmony_ci| PHASE2_MSCHAPV2 | 3 | MS-CHAPv2.| 531e41f4b71Sopenharmony_ci| PHASE2_GTC | 4 | GTC.| 532e41f4b71Sopenharmony_ci| PHASE2_SIM | 5 | SIM.| 533e41f4b71Sopenharmony_ci| PHASE2_AKA | 6 | AKA.| 534e41f4b71Sopenharmony_ci| PHASE2_AKA_PRIME | 7 | AKA Prime.| 535e41f4b71Sopenharmony_ci 536e41f4b71Sopenharmony_ci## WifiCategory<sup>12+</sup> 537e41f4b71Sopenharmony_ci 538e41f4b71Sopenharmony_ciRepresents the highest Wi-Fi type supported by a hotspot. 539e41f4b71Sopenharmony_ci 540e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 541e41f4b71Sopenharmony_ci 542e41f4b71Sopenharmony_ci| Name| Value| Description| 543e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 544e41f4b71Sopenharmony_ci| DEFAULT | 1 | Default, that is, Wi-Fi types lower than Wi-Fi 6.| 545e41f4b71Sopenharmony_ci| WIFI6 | 2 | Wi-Fi 6| 546e41f4b71Sopenharmony_ci| WIFI6_PLUS | 3 | Wi-Fi 6+| 547e41f4b71Sopenharmony_ci 548e41f4b71Sopenharmony_ci## wifiManager.addCandidateConfig<sup>9+</sup> 549e41f4b71Sopenharmony_ci 550e41f4b71Sopenharmony_ciaddCandidateConfig(config: WifiDeviceConfig): Promise<number> 551e41f4b71Sopenharmony_ci 552e41f4b71Sopenharmony_ciAdds the configuration of a candidate network. This API uses a promise to return the result. 553e41f4b71Sopenharmony_ci 554e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.SET_WIFI_INFO 555e41f4b71Sopenharmony_ci 556e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 557e41f4b71Sopenharmony_ci 558e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 559e41f4b71Sopenharmony_ci 560e41f4b71Sopenharmony_ci**Parameters** 561e41f4b71Sopenharmony_ci 562e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 563e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 564e41f4b71Sopenharmony_ci| config | [WifiDeviceConfig](#wifideviceconfig9) | Yes| WLAN configuration to add. The default **bssidType** is random device address.| 565e41f4b71Sopenharmony_ci 566e41f4b71Sopenharmony_ci**Return value** 567e41f4b71Sopenharmony_ci 568e41f4b71Sopenharmony_ci | **Type**| **Description**| 569e41f4b71Sopenharmony_ci | -------- | -------- | 570e41f4b71Sopenharmony_ci | Promise<number> | Promise used to return the network configuration ID.| 571e41f4b71Sopenharmony_ci 572e41f4b71Sopenharmony_ci**Error codes** 573e41f4b71Sopenharmony_ci 574e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 575e41f4b71Sopenharmony_ci 576e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 577e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 578e41f4b71Sopenharmony_ci| 201 | Permission denied. | 579e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified.<br>2. Incorrect parameter types. 3. Parameter verification failed.| 580e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 581e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 582e41f4b71Sopenharmony_ci 583e41f4b71Sopenharmony_ci**Example** 584e41f4b71Sopenharmony_ci`````ts 585e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 586e41f4b71Sopenharmony_ci 587e41f4b71Sopenharmony_ci try { 588e41f4b71Sopenharmony_ci let config:wifiManager.WifiDeviceConfig = { 589e41f4b71Sopenharmony_ci ssid : "****", 590e41f4b71Sopenharmony_ci preSharedKey : "****", 591e41f4b71Sopenharmony_ci securityType : 0 592e41f4b71Sopenharmony_ci } 593e41f4b71Sopenharmony_ci wifiManager.addCandidateConfig(config).then(result => { 594e41f4b71Sopenharmony_ci console.info("result:" + JSON.stringify(result)); 595e41f4b71Sopenharmony_ci }).catch((err:number) => { 596e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(err)); 597e41f4b71Sopenharmony_ci }); 598e41f4b71Sopenharmony_ci }catch(error){ 599e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 600e41f4b71Sopenharmony_ci } 601e41f4b71Sopenharmony_ci````` 602e41f4b71Sopenharmony_ci 603e41f4b71Sopenharmony_ci## wifiManager.addCandidateConfig<sup>9+</sup> 604e41f4b71Sopenharmony_ci 605e41f4b71Sopenharmony_ciaddCandidateConfig(config: WifiDeviceConfig, callback: AsyncCallback<number>): void 606e41f4b71Sopenharmony_ci 607e41f4b71Sopenharmony_ciAdds the configuration of a candidate network. This API uses an asynchronous callback to return the result. 608e41f4b71Sopenharmony_ci 609e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.SET_WIFI_INFO 610e41f4b71Sopenharmony_ci 611e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 612e41f4b71Sopenharmony_ci 613e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 614e41f4b71Sopenharmony_ci 615e41f4b71Sopenharmony_ci**Parameters** 616e41f4b71Sopenharmony_ci 617e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 618e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 619e41f4b71Sopenharmony_ci| config | [WifiDeviceConfig](#wifideviceconfig9) | Yes| WLAN configuration to add. The default **bssidType** is random device address.| 620e41f4b71Sopenharmony_ci| callback | AsyncCallback<number> | Yes| Callback used 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.| 621e41f4b71Sopenharmony_ci 622e41f4b71Sopenharmony_ci**Error codes** 623e41f4b71Sopenharmony_ci 624e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 625e41f4b71Sopenharmony_ci 626e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 627e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 628e41f4b71Sopenharmony_ci| 201 | Permission denied. | 629e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified.<br>2. Incorrect parameter types. 3. Parameter verification failed.| 630e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 631e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 632e41f4b71Sopenharmony_ci 633e41f4b71Sopenharmony_ci**Example** 634e41f4b71Sopenharmony_ci`````ts 635e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 636e41f4b71Sopenharmony_ci 637e41f4b71Sopenharmony_ci try { 638e41f4b71Sopenharmony_ci let config:wifiManager.WifiDeviceConfig = { 639e41f4b71Sopenharmony_ci ssid : "****", 640e41f4b71Sopenharmony_ci preSharedKey : "****", 641e41f4b71Sopenharmony_ci securityType : 0 642e41f4b71Sopenharmony_ci } 643e41f4b71Sopenharmony_ci wifiManager.addCandidateConfig(config,(error,result) => { 644e41f4b71Sopenharmony_ci console.info("result:" + JSON.stringify(result)); 645e41f4b71Sopenharmony_ci }); 646e41f4b71Sopenharmony_ci }catch(error){ 647e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 648e41f4b71Sopenharmony_ci } 649e41f4b71Sopenharmony_ci````` 650e41f4b71Sopenharmony_ci 651e41f4b71Sopenharmony_ci## wifiManager.removeCandidateConfig<sup>9+</sup> 652e41f4b71Sopenharmony_ci 653e41f4b71Sopenharmony_ciremoveCandidateConfig(networkId: number): Promise<void> 654e41f4b71Sopenharmony_ci 655e41f4b71Sopenharmony_ciRemoves the configuration of a candidate network. This API uses a promise to return the result. 656e41f4b71Sopenharmony_ci 657e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.SET_WIFI_INFO 658e41f4b71Sopenharmony_ci 659e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 660e41f4b71Sopenharmony_ci 661e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 662e41f4b71Sopenharmony_ci 663e41f4b71Sopenharmony_ci**Parameters** 664e41f4b71Sopenharmony_ci 665e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 666e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 667e41f4b71Sopenharmony_ci | networkId | number | Yes| ID of the network configuration to remove.| 668e41f4b71Sopenharmony_ci 669e41f4b71Sopenharmony_ci**Return value** 670e41f4b71Sopenharmony_ci 671e41f4b71Sopenharmony_ci | **Type**| **Description**| 672e41f4b71Sopenharmony_ci | -------- | -------- | 673e41f4b71Sopenharmony_ci | Promise<void> | Promise used to return the result.| 674e41f4b71Sopenharmony_ci 675e41f4b71Sopenharmony_ci**Error codes** 676e41f4b71Sopenharmony_ci 677e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 678e41f4b71Sopenharmony_ci 679e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 680e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 681e41f4b71Sopenharmony_ci| 201 | Permission denied. | 682e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified.<br>2. Incorrect parameter types. 3. Parameter verification failed.| 683e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 684e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 685e41f4b71Sopenharmony_ci| 2501001 | Wi-Fi STA disabled. | 686e41f4b71Sopenharmony_ci 687e41f4b71Sopenharmony_ci**Example** 688e41f4b71Sopenharmony_ci 689e41f4b71Sopenharmony_ci```ts 690e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 691e41f4b71Sopenharmony_ci 692e41f4b71Sopenharmony_ci try { 693e41f4b71Sopenharmony_ci let networkId = 0; 694e41f4b71Sopenharmony_ci wifiManager.removeCandidateConfig(networkId).then(result => { 695e41f4b71Sopenharmony_ci console.info("result:" + JSON.stringify(result)); 696e41f4b71Sopenharmony_ci }).catch((err:number) => { 697e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(err)); 698e41f4b71Sopenharmony_ci }); 699e41f4b71Sopenharmony_ci }catch(error){ 700e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 701e41f4b71Sopenharmony_ci } 702e41f4b71Sopenharmony_ci``` 703e41f4b71Sopenharmony_ci 704e41f4b71Sopenharmony_ci## wifiManager.removeCandidateConfig<sup>9+</sup> 705e41f4b71Sopenharmony_ci 706e41f4b71Sopenharmony_ciremoveCandidateConfig(networkId: number, callback: AsyncCallback<void>): void 707e41f4b71Sopenharmony_ci 708e41f4b71Sopenharmony_ciRemoves the configuration of a candidate network. This API uses an asynchronous callback to return the result. 709e41f4b71Sopenharmony_ci 710e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.SET_WIFI_INFO 711e41f4b71Sopenharmony_ci 712e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 713e41f4b71Sopenharmony_ci 714e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 715e41f4b71Sopenharmony_ci 716e41f4b71Sopenharmony_ci**Parameters** 717e41f4b71Sopenharmony_ci 718e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 719e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 720e41f4b71Sopenharmony_ci | networkId | number | Yes| ID of the network configuration to remove.| 721e41f4b71Sopenharmony_ci | callback | AsyncCallback<void> | Yes| Callback used to return the result. If the operation is successful, **err** is **0**. If the operation fails, **error** is not **0**.| 722e41f4b71Sopenharmony_ci 723e41f4b71Sopenharmony_ci**Error codes** 724e41f4b71Sopenharmony_ci 725e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 726e41f4b71Sopenharmony_ci 727e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 728e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 729e41f4b71Sopenharmony_ci| 201 | Permission denied. | 730e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified.<br>2. Incorrect parameter types. 3. Parameter verification failed. | 731e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 732e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 733e41f4b71Sopenharmony_ci| 2501001 | Wi-Fi STA disabled. | 734e41f4b71Sopenharmony_ci 735e41f4b71Sopenharmony_ci**Example** 736e41f4b71Sopenharmony_ci```ts 737e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 738e41f4b71Sopenharmony_ci 739e41f4b71Sopenharmony_ci try { 740e41f4b71Sopenharmony_ci let networkId = 0; 741e41f4b71Sopenharmony_ci wifiManager.removeCandidateConfig(networkId,(error,result) => { 742e41f4b71Sopenharmony_ci console.info("result:" + JSON.stringify(result)); 743e41f4b71Sopenharmony_ci }); 744e41f4b71Sopenharmony_ci }catch(error){ 745e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 746e41f4b71Sopenharmony_ci } 747e41f4b71Sopenharmony_ci``` 748e41f4b71Sopenharmony_ci 749e41f4b71Sopenharmony_ci## wifiManager.getCandidateConfigs<sup>9+</sup> 750e41f4b71Sopenharmony_ci 751e41f4b71Sopenharmony_cigetCandidateConfigs(): Array<WifiDeviceConfig> 752e41f4b71Sopenharmony_ci 753e41f4b71Sopenharmony_ciObtains candidate network configuration. 754e41f4b71Sopenharmony_ci 755e41f4b71Sopenharmony_ci**Required permissions**: 756e41f4b71Sopenharmony_ci 757e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 758e41f4b71Sopenharmony_ci 759e41f4b71Sopenharmony_ciAPI version 10 and later: ohos.permission.GET_WIFI_INFO 760e41f4b71Sopenharmony_ci 761e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 762e41f4b71Sopenharmony_ci 763e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 764e41f4b71Sopenharmony_ci 765e41f4b71Sopenharmony_ci**Return value** 766e41f4b71Sopenharmony_ci 767e41f4b71Sopenharmony_ci | **Type**| **Description**| 768e41f4b71Sopenharmony_ci | -------- | -------- | 769e41f4b71Sopenharmony_ci | Array<[WifiDeviceConfig](#wifideviceconfig9)> | Candidate network configuration obtained.| 770e41f4b71Sopenharmony_ci 771e41f4b71Sopenharmony_ci**Error codes** 772e41f4b71Sopenharmony_ci 773e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 774e41f4b71Sopenharmony_ci 775e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 776e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 777e41f4b71Sopenharmony_ci| 201 | Permission denied. | 778e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 779e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 780e41f4b71Sopenharmony_ci 781e41f4b71Sopenharmony_ci**Example** 782e41f4b71Sopenharmony_ci 783e41f4b71Sopenharmony_ci```ts 784e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 785e41f4b71Sopenharmony_ci 786e41f4b71Sopenharmony_ci try { 787e41f4b71Sopenharmony_ci let configs = wifiManager.getCandidateConfigs(); 788e41f4b71Sopenharmony_ci console.info("configs:" + JSON.stringify(configs)); 789e41f4b71Sopenharmony_ci let len = configs.length; 790e41f4b71Sopenharmony_ci console.log("result len: " + len); 791e41f4b71Sopenharmony_ci if(len > 0){ 792e41f4b71Sopenharmony_ci for (let i = 0; i < len; ++i) { 793e41f4b71Sopenharmony_ci console.info("ssid: " + configs[i].ssid); 794e41f4b71Sopenharmony_ci console.info("bssid: " + configs[i].bssid); 795e41f4b71Sopenharmony_ci } 796e41f4b71Sopenharmony_ci } 797e41f4b71Sopenharmony_ci }catch(error){ 798e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 799e41f4b71Sopenharmony_ci } 800e41f4b71Sopenharmony_ci 801e41f4b71Sopenharmony_ci``` 802e41f4b71Sopenharmony_ci 803e41f4b71Sopenharmony_ci## wifiManager.connectToCandidateConfig<sup>9+</sup> 804e41f4b71Sopenharmony_ci 805e41f4b71Sopenharmony_ciconnectToCandidateConfig(networkId: number): void 806e41f4b71Sopenharmony_ci 807e41f4b71Sopenharmony_ciConnects to a candidate network added by the application. If the device is already connected to a hotspot, disconnect it from the hotspot first. 808e41f4b71Sopenharmony_ci 809e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.SET_WIFI_INFO 810e41f4b71Sopenharmony_ci 811e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 812e41f4b71Sopenharmony_ci 813e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 814e41f4b71Sopenharmony_ci 815e41f4b71Sopenharmony_ci**Parameters** 816e41f4b71Sopenharmony_ci 817e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 818e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 819e41f4b71Sopenharmony_ci | networkId | number | Yes| ID of the candidate network configuration.| 820e41f4b71Sopenharmony_ci 821e41f4b71Sopenharmony_ci**Error codes** 822e41f4b71Sopenharmony_ci 823e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 824e41f4b71Sopenharmony_ci 825e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 826e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 827e41f4b71Sopenharmony_ci| 201 | Permission denied. | 828e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified.<br>2. Incorrect parameter types. 3. Parameter verification failed. | 829e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 830e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 831e41f4b71Sopenharmony_ci| 2501001 | Wi-Fi STA disabled.| 832e41f4b71Sopenharmony_ci 833e41f4b71Sopenharmony_ci**Example** 834e41f4b71Sopenharmony_ci```ts 835e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 836e41f4b71Sopenharmony_ci 837e41f4b71Sopenharmony_ci try { 838e41f4b71Sopenharmony_ci let networkId = 0; // Candidate network ID, which is generated when a candidate network is added. The value is obtained from WifiDeviceConfig.netId. 839e41f4b71Sopenharmony_ci wifiManager.connectToCandidateConfig(networkId); 840e41f4b71Sopenharmony_ci }catch(error){ 841e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 842e41f4b71Sopenharmony_ci } 843e41f4b71Sopenharmony_ci 844e41f4b71Sopenharmony_ci``` 845e41f4b71Sopenharmony_ci 846e41f4b71Sopenharmony_ci 847e41f4b71Sopenharmony_ci## wifiManager.getSignalLevel<sup>9+</sup> 848e41f4b71Sopenharmony_ci 849e41f4b71Sopenharmony_cigetSignalLevel(rssi: number, band: number): number 850e41f4b71Sopenharmony_ci 851e41f4b71Sopenharmony_ciObtains the WLAN signal level. 852e41f4b71Sopenharmony_ci 853e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 854e41f4b71Sopenharmony_ci 855e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 856e41f4b71Sopenharmony_ci 857e41f4b71Sopenharmony_ci**Parameters** 858e41f4b71Sopenharmony_ci 859e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 860e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 861e41f4b71Sopenharmony_ci | rssi | number | Yes| RSSI of the hotspot, in dBm.| 862e41f4b71Sopenharmony_ci | band | number | Yes| Frequency band of the WLAN AP. The value **1** indicates 2.4 GHz, and **2** indicates 5 GHz.| 863e41f4b71Sopenharmony_ci 864e41f4b71Sopenharmony_ci**Return value** 865e41f4b71Sopenharmony_ci 866e41f4b71Sopenharmony_ci | **Type**| **Description**| 867e41f4b71Sopenharmony_ci | -------- | -------- | 868e41f4b71Sopenharmony_ci | number | Signal level obtained. The value range is [0, 4].| 869e41f4b71Sopenharmony_ci 870e41f4b71Sopenharmony_ci**Error codes** 871e41f4b71Sopenharmony_ci 872e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 873e41f4b71Sopenharmony_ci 874e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 875e41f4b71Sopenharmony_ci| -------- | -------- | 876e41f4b71Sopenharmony_ci| 201 | Permission denied. | 877e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified.<br>2. Incorrect parameter types. | 878e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 879e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 880e41f4b71Sopenharmony_ci 881e41f4b71Sopenharmony_ci**Example** 882e41f4b71Sopenharmony_ci```ts 883e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 884e41f4b71Sopenharmony_ci 885e41f4b71Sopenharmony_ci try { 886e41f4b71Sopenharmony_ci let rssi = 0; 887e41f4b71Sopenharmony_ci let band = 0; 888e41f4b71Sopenharmony_ci let level = wifiManager.getSignalLevel(rssi,band); 889e41f4b71Sopenharmony_ci console.info("level:" + JSON.stringify(level)); 890e41f4b71Sopenharmony_ci }catch(error){ 891e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 892e41f4b71Sopenharmony_ci } 893e41f4b71Sopenharmony_ci 894e41f4b71Sopenharmony_ci``` 895e41f4b71Sopenharmony_ci 896e41f4b71Sopenharmony_ci## wifiManager.getLinkedInfo<sup>9+</sup> 897e41f4b71Sopenharmony_ci 898e41f4b71Sopenharmony_cigetLinkedInfo(): Promise<WifiLinkedInfo> 899e41f4b71Sopenharmony_ci 900e41f4b71Sopenharmony_ciObtains WLAN connection information. This API uses a promise to return the result. 901e41f4b71Sopenharmony_ci 902e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 903e41f4b71Sopenharmony_ci 904e41f4b71Sopenharmony_ciIf **macType** to be obtained is **1** (device MAC address), the caller must have the ohos.permission.GET_WIFI_LOCAL_MAC permission, which is available only for system applications. Without this permission, an empty string is returned in **macAddress**. 905e41f4b71Sopenharmony_ci 906e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 907e41f4b71Sopenharmony_ci 908e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 909e41f4b71Sopenharmony_ci 910e41f4b71Sopenharmony_ci**Return value** 911e41f4b71Sopenharmony_ci 912e41f4b71Sopenharmony_ci | Type| Description| 913e41f4b71Sopenharmony_ci | -------- | -------- | 914e41f4b71Sopenharmony_ci | Promise<[WifiLinkedInfo](#wifilinkedinfo9)> | Promise used to return the WLAN connection information.| 915e41f4b71Sopenharmony_ci 916e41f4b71Sopenharmony_ci**Error codes** 917e41f4b71Sopenharmony_ci 918e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 919e41f4b71Sopenharmony_ci 920e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 921e41f4b71Sopenharmony_ci| -------- | -------- | 922e41f4b71Sopenharmony_ci| 201 | Permission denied. | 923e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 924e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 925e41f4b71Sopenharmony_ci| 2501001 | Wi-Fi STA disabled.| 926e41f4b71Sopenharmony_ci 927e41f4b71Sopenharmony_ci## wifiManager.getLinkedInfo<sup>9+</sup> 928e41f4b71Sopenharmony_ci 929e41f4b71Sopenharmony_cigetLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void 930e41f4b71Sopenharmony_ci 931e41f4b71Sopenharmony_ciObtains WLAN connection information. This API uses an asynchronous callback to return the result. 932e41f4b71Sopenharmony_ci 933e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 934e41f4b71Sopenharmony_ci 935e41f4b71Sopenharmony_ciIf **macType** to be obtained is **1** (device MAC address), the caller must have the ohos.permission.GET_WIFI_LOCAL_MAC permission, which is available only for system applications. Without this permission, an empty string is returned in **macAddress**. 936e41f4b71Sopenharmony_ci 937e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 938e41f4b71Sopenharmony_ci 939e41f4b71Sopenharmony_ci**Parameters** 940e41f4b71Sopenharmony_ci 941e41f4b71Sopenharmony_ci | Name| Type| Mandatory| Description| 942e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 943e41f4b71Sopenharmony_ci | callback | AsyncCallback<[WifiLinkedInfo](#wifilinkedinfo9)> | Yes| Callback used to return the result. If the operation is successful, **err** is **0** and **data** is the WLAN connection information obtained. If the operation fails, **err** is not **0**.| 944e41f4b71Sopenharmony_ci 945e41f4b71Sopenharmony_ci**Error codes** 946e41f4b71Sopenharmony_ci 947e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 948e41f4b71Sopenharmony_ci 949e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 950e41f4b71Sopenharmony_ci| -------- | -------- | 951e41f4b71Sopenharmony_ci| 201 | Permission denied. | 952e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 953e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 954e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 955e41f4b71Sopenharmony_ci| 2501001 | Wi-Fi STA disabled.| 956e41f4b71Sopenharmony_ci 957e41f4b71Sopenharmony_ci**Example** 958e41f4b71Sopenharmony_ci```ts 959e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 960e41f4b71Sopenharmony_ci 961e41f4b71Sopenharmony_ci wifiManager.getLinkedInfo((err, data) => { 962e41f4b71Sopenharmony_ci if (err) { 963e41f4b71Sopenharmony_ci console.error("get linked info error"); 964e41f4b71Sopenharmony_ci return; 965e41f4b71Sopenharmony_ci } 966e41f4b71Sopenharmony_ci console.info("get wifi linked info: " + JSON.stringify(data)); 967e41f4b71Sopenharmony_ci }); 968e41f4b71Sopenharmony_ci 969e41f4b71Sopenharmony_ci wifiManager.getLinkedInfo().then(data => { 970e41f4b71Sopenharmony_ci console.info("get wifi linked info: " + JSON.stringify(data)); 971e41f4b71Sopenharmony_ci }).catch((error:number) => { 972e41f4b71Sopenharmony_ci console.info("get linked info error"); 973e41f4b71Sopenharmony_ci }); 974e41f4b71Sopenharmony_ci``` 975e41f4b71Sopenharmony_ci 976e41f4b71Sopenharmony_ci 977e41f4b71Sopenharmony_ci## WifiLinkedInfo<sup>9+</sup> 978e41f4b71Sopenharmony_ci 979e41f4b71Sopenharmony_ciRepresents the WLAN connection information. 980e41f4b71Sopenharmony_ci 981e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 982e41f4b71Sopenharmony_ci 983e41f4b71Sopenharmony_ci| Name| Type| Readable| Writable| Description| 984e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 985e41f4b71Sopenharmony_ci| ssid | string | Yes| No| SSID of the hotspot, in UTF-8 format.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 986e41f4b71Sopenharmony_ci| bssid | string | Yes| No| BSSID of the hotspot.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 987e41f4b71Sopenharmony_ci| rssi | number | Yes| No| RSSI of the hotspot, in dBm.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 988e41f4b71Sopenharmony_ci| band | number | Yes| No| Band of the WLAN AP. The value **1** indicates 2.4 GHz, and **2** indicates 5 GHz.| 989e41f4b71Sopenharmony_ci| linkSpeed | number | Yes| No| Uplink speed of the WLAN AP.| 990e41f4b71Sopenharmony_ci| rxLinkSpeed<sup>10+</sup> | number | Yes| No| Downlink speed of the WLAN AP.| 991e41f4b71Sopenharmony_ci| maxSupportedTxLinkSpeed<sup>10+</sup> | number | Yes| No| Maximum uplink speed supported.| 992e41f4b71Sopenharmony_ci| maxSupportedRxLinkSpeed<sup>10+</sup> | number | Yes| No| Maximum uplink speed supported.| 993e41f4b71Sopenharmony_ci| frequency | number | Yes| No| Frequency of the WLAN AP.<br>**Atomic service API**: This API can be used in atomic services since API version 12.| 994e41f4b71Sopenharmony_ci| isHidden | boolean | Yes| No| Whether to hide the WLAN AP.| 995e41f4b71Sopenharmony_ci| isRestricted | boolean | Yes| No| Whether to restrict data volume at the WLAN AP.| 996e41f4b71Sopenharmony_ci| macType | number | Yes| No| MAC address type. <br>The value **0** indicates random MAC address, and **1** indicates device MAC address.| 997e41f4b71Sopenharmony_ci| macAddress | string | Yes| No| MAC address of the device.| 998e41f4b71Sopenharmony_ci| ipAddress | number | Yes| No| IP address of the device that sets up the WLAN connection.| 999e41f4b71Sopenharmony_ci| connState | [ConnState](#connstate9) | Yes| No| WLAN connection state.| 1000e41f4b71Sopenharmony_ci| channelWidth<sup>10+</sup> | [WifiChannelWidth](#wifichannelwidth9) | Yes| No| Channel bandwidth of the connected hotspot.| 1001e41f4b71Sopenharmony_ci| wifiStandard<sup>10+</sup> | [WifiStandard](#wifistandard10) | Yes| No| Wi-Fi standard used by the connected hotspot.| 1002e41f4b71Sopenharmony_ci| supportedWifiCategory<sup>12+</sup> | [WifiCategory](#wificategory12) | Yes| No| Highest Wi-Fi category supported by the hotspot.| 1003e41f4b71Sopenharmony_ci| isHiLinkNetwork<sup>12+</sup> | boolean | Yes| No| Whether the hotspot supports HiLink. The value **true** indicates that the hotspot supports HiLink. The value **false** means the opposite.| 1004e41f4b71Sopenharmony_ci 1005e41f4b71Sopenharmony_ci## ConnState<sup>9+</sup> 1006e41f4b71Sopenharmony_ci 1007e41f4b71Sopenharmony_ciEnumerates the WLAN connection states. 1008e41f4b71Sopenharmony_ci 1009e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 1010e41f4b71Sopenharmony_ci 1011e41f4b71Sopenharmony_ci| Name| Value| Description| 1012e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 1013e41f4b71Sopenharmony_ci| SCANNING | 0 | The device is scanning for available APs.| 1014e41f4b71Sopenharmony_ci| CONNECTING | 1 | A WLAN connection is being established.| 1015e41f4b71Sopenharmony_ci| AUTHENTICATING | 2 | An authentication is being performed for a WLAN connection.| 1016e41f4b71Sopenharmony_ci| OBTAINING_IPADDR | 3 | The IP address of the WLAN connection is being acquired.| 1017e41f4b71Sopenharmony_ci| CONNECTED | 4 | A WLAN connection is established.| 1018e41f4b71Sopenharmony_ci| DISCONNECTING | 5 | The WLAN connection is being disconnected.| 1019e41f4b71Sopenharmony_ci| DISCONNECTED | 6 | The WLAN connection is disconnected.| 1020e41f4b71Sopenharmony_ci| UNKNOWN | 7 | Failed to set up the WLAN connection.| 1021e41f4b71Sopenharmony_ci 1022e41f4b71Sopenharmony_ci 1023e41f4b71Sopenharmony_ci## wifiManager.isConnected<sup>9+</sup> 1024e41f4b71Sopenharmony_ci 1025e41f4b71Sopenharmony_ciisConnected(): boolean 1026e41f4b71Sopenharmony_ci 1027e41f4b71Sopenharmony_ciChecks whether WLAN is connected. 1028e41f4b71Sopenharmony_ci 1029e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1030e41f4b71Sopenharmony_ci 1031e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 1032e41f4b71Sopenharmony_ci 1033e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 1034e41f4b71Sopenharmony_ci 1035e41f4b71Sopenharmony_ci**Return value** 1036e41f4b71Sopenharmony_ci 1037e41f4b71Sopenharmony_ci | **Type**| **Description**| 1038e41f4b71Sopenharmony_ci | -------- | -------- | 1039e41f4b71Sopenharmony_ci | boolean | Returns **true** if WLAN is connected; returns **false** otherwise.| 1040e41f4b71Sopenharmony_ci 1041e41f4b71Sopenharmony_ci**Error codes** 1042e41f4b71Sopenharmony_ci 1043e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1044e41f4b71Sopenharmony_ci 1045e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1046e41f4b71Sopenharmony_ci| -------- | -------- | 1047e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1048e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1049e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 1050e41f4b71Sopenharmony_ci 1051e41f4b71Sopenharmony_ci**Example** 1052e41f4b71Sopenharmony_ci```ts 1053e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1054e41f4b71Sopenharmony_ci 1055e41f4b71Sopenharmony_ci try { 1056e41f4b71Sopenharmony_ci let ret = wifiManager.isConnected(); 1057e41f4b71Sopenharmony_ci console.info("isConnected:" + ret); 1058e41f4b71Sopenharmony_ci }catch(error){ 1059e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1060e41f4b71Sopenharmony_ci } 1061e41f4b71Sopenharmony_ci 1062e41f4b71Sopenharmony_ci``` 1063e41f4b71Sopenharmony_ci 1064e41f4b71Sopenharmony_ci 1065e41f4b71Sopenharmony_ci## wifiManager.isFeatureSupported<sup>9+</sup> 1066e41f4b71Sopenharmony_ci 1067e41f4b71Sopenharmony_ciisFeatureSupported(featureId: number): boolean 1068e41f4b71Sopenharmony_ci 1069e41f4b71Sopenharmony_ciChecks whether the device supports the specified WLAN feature. 1070e41f4b71Sopenharmony_ci 1071e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1072e41f4b71Sopenharmony_ci 1073e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.Core 1074e41f4b71Sopenharmony_ci 1075e41f4b71Sopenharmony_ci**Parameters** 1076e41f4b71Sopenharmony_ci 1077e41f4b71Sopenharmony_ci | **Name**| **Type**| Mandatory| **Description**| 1078e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 1079e41f4b71Sopenharmony_ci | featureId | number | Yes| Feature ID.| 1080e41f4b71Sopenharmony_ci 1081e41f4b71Sopenharmony_ci**Feature IDs** 1082e41f4b71Sopenharmony_ci 1083e41f4b71Sopenharmony_ci| Value| Description| 1084e41f4b71Sopenharmony_ci| -------- | -------- | 1085e41f4b71Sopenharmony_ci| 0x0001 | WLAN infrastructure mode| 1086e41f4b71Sopenharmony_ci| 0x0002 | 5 GHz feature| 1087e41f4b71Sopenharmony_ci| 0x0004 | Generic Advertisement Service (GAS)/Access Network Query Protocol (ANQP) feature| 1088e41f4b71Sopenharmony_ci| 0x0008 | Wi-Fi Direct| 1089e41f4b71Sopenharmony_ci| 0x0010 | SoftAP| 1090e41f4b71Sopenharmony_ci| 0x0040 | Wi-Fi Aware| 1091e41f4b71Sopenharmony_ci| 0x8000 | WLAN AP/STA concurrency| 1092e41f4b71Sopenharmony_ci| 0x8000000 | WPA3 Personal (WPA-3 SAE)| 1093e41f4b71Sopenharmony_ci| 0x10000000 | WPA3-Enterprise Suite B | 1094e41f4b71Sopenharmony_ci| 0x20000000 | Enhanced open feature| 1095e41f4b71Sopenharmony_ci 1096e41f4b71Sopenharmony_ci**Return value** 1097e41f4b71Sopenharmony_ci 1098e41f4b71Sopenharmony_ci | **Type**| **Description**| 1099e41f4b71Sopenharmony_ci | -------- | -------- | 1100e41f4b71Sopenharmony_ci | boolean | Returns **true** if the feature is supported; returns **false** otherwise.| 1101e41f4b71Sopenharmony_ci 1102e41f4b71Sopenharmony_ci**Error codes** 1103e41f4b71Sopenharmony_ci 1104e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1105e41f4b71Sopenharmony_ci 1106e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1107e41f4b71Sopenharmony_ci | -------- | -------- | 1108e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1109e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified.<br>2. Incorrect parameter types. | 1110e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1111e41f4b71Sopenharmony_ci| 2401000 | Operation failed.| 1112e41f4b71Sopenharmony_ci 1113e41f4b71Sopenharmony_ci**Example** 1114e41f4b71Sopenharmony_ci```ts 1115e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1116e41f4b71Sopenharmony_ci 1117e41f4b71Sopenharmony_ci try { 1118e41f4b71Sopenharmony_ci let featureId = 0; 1119e41f4b71Sopenharmony_ci let ret = wifiManager.isFeatureSupported(featureId); 1120e41f4b71Sopenharmony_ci console.info("isFeatureSupported:" + ret); 1121e41f4b71Sopenharmony_ci }catch(error){ 1122e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1123e41f4b71Sopenharmony_ci } 1124e41f4b71Sopenharmony_ci 1125e41f4b71Sopenharmony_ci``` 1126e41f4b71Sopenharmony_ci 1127e41f4b71Sopenharmony_ci 1128e41f4b71Sopenharmony_ci## wifiManager.getIpInfo<sup>9+</sup> 1129e41f4b71Sopenharmony_ci 1130e41f4b71Sopenharmony_cigetIpInfo(): IpInfo 1131e41f4b71Sopenharmony_ci 1132e41f4b71Sopenharmony_ciObtains IP information. 1133e41f4b71Sopenharmony_ci 1134e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1135e41f4b71Sopenharmony_ci 1136e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 1137e41f4b71Sopenharmony_ci 1138e41f4b71Sopenharmony_ci**Return value** 1139e41f4b71Sopenharmony_ci 1140e41f4b71Sopenharmony_ci | **Type**| **Description**| 1141e41f4b71Sopenharmony_ci | -------- | -------- | 1142e41f4b71Sopenharmony_ci | [IpInfo](#ipinfo9) | IP information obtained.| 1143e41f4b71Sopenharmony_ci 1144e41f4b71Sopenharmony_ci**Error codes** 1145e41f4b71Sopenharmony_ci 1146e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1147e41f4b71Sopenharmony_ci 1148e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1149e41f4b71Sopenharmony_ci| -------- | -------- | 1150e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1151e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1152e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 1153e41f4b71Sopenharmony_ci 1154e41f4b71Sopenharmony_ci**Example** 1155e41f4b71Sopenharmony_ci```ts 1156e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1157e41f4b71Sopenharmony_ci 1158e41f4b71Sopenharmony_ci try { 1159e41f4b71Sopenharmony_ci let info = wifiManager.getIpInfo(); 1160e41f4b71Sopenharmony_ci console.info("info:" + JSON.stringify(info)); 1161e41f4b71Sopenharmony_ci }catch(error){ 1162e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1163e41f4b71Sopenharmony_ci } 1164e41f4b71Sopenharmony_ci``` 1165e41f4b71Sopenharmony_ci 1166e41f4b71Sopenharmony_ci## IpInfo<sup>9+</sup> 1167e41f4b71Sopenharmony_ci 1168e41f4b71Sopenharmony_ciRepresents IP information. 1169e41f4b71Sopenharmony_ci 1170e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 1171e41f4b71Sopenharmony_ci 1172e41f4b71Sopenharmony_ci| **Name**| **Type**| **Readable**| **Writable**| **Description**| 1173e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 1174e41f4b71Sopenharmony_ci| ipAddress | number | Yes| No| IP address.| 1175e41f4b71Sopenharmony_ci| gateway | number | Yes| No| Gateway.| 1176e41f4b71Sopenharmony_ci| netmask | number | Yes| No| Subnet mask.| 1177e41f4b71Sopenharmony_ci| primaryDns | number | Yes| No| IP address of the preferred DNS server.| 1178e41f4b71Sopenharmony_ci| secondDns | number | Yes| No| IP address of the alternate DNS server.| 1179e41f4b71Sopenharmony_ci| serverIp | number | Yes| No| IP address of the DHCP server.| 1180e41f4b71Sopenharmony_ci| leaseDuration | number | Yes| No| Lease duration of the IP address, in seconds.| 1181e41f4b71Sopenharmony_ci 1182e41f4b71Sopenharmony_ci 1183e41f4b71Sopenharmony_ci## wifiManager.getIpv6Info<sup>10+</sup> 1184e41f4b71Sopenharmony_ci 1185e41f4b71Sopenharmony_cigetIpv6Info(): Ipv6Info 1186e41f4b71Sopenharmony_ci 1187e41f4b71Sopenharmony_ciObtains IPv6 information. 1188e41f4b71Sopenharmony_ci 1189e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1190e41f4b71Sopenharmony_ci 1191e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 1192e41f4b71Sopenharmony_ci 1193e41f4b71Sopenharmony_ci**Return value** 1194e41f4b71Sopenharmony_ci 1195e41f4b71Sopenharmony_ci| **Type**| **Description**| 1196e41f4b71Sopenharmony_ci| -------- | -------- | 1197e41f4b71Sopenharmony_ci| [Ipv6Info](#ipv6info10) | IPv6 information obtained.| 1198e41f4b71Sopenharmony_ci 1199e41f4b71Sopenharmony_ci**Error codes** 1200e41f4b71Sopenharmony_ci 1201e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1202e41f4b71Sopenharmony_ci 1203e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1204e41f4b71Sopenharmony_ci| -------- | -------- | 1205e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1206e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1207e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 1208e41f4b71Sopenharmony_ci 1209e41f4b71Sopenharmony_ci**Example** 1210e41f4b71Sopenharmony_ci```ts 1211e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1212e41f4b71Sopenharmony_ci 1213e41f4b71Sopenharmony_ci try { 1214e41f4b71Sopenharmony_ci let info = wifiManager.getIpv6Info(); 1215e41f4b71Sopenharmony_ci console.info("info:" + JSON.stringify(info)); 1216e41f4b71Sopenharmony_ci }catch(error){ 1217e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1218e41f4b71Sopenharmony_ci } 1219e41f4b71Sopenharmony_ci``` 1220e41f4b71Sopenharmony_ci## Ipv6Info<sup>10+</sup> 1221e41f4b71Sopenharmony_ci 1222e41f4b71Sopenharmony_ciRepresents the IPv6 information. 1223e41f4b71Sopenharmony_ci 1224e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 1225e41f4b71Sopenharmony_ci 1226e41f4b71Sopenharmony_ci| **Name**| **Type**| **Readable**| **Writable**| **Description**| 1227e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 1228e41f4b71Sopenharmony_ci| linkIpv6Address | string | Yes| No| IPv6 address of the link.| 1229e41f4b71Sopenharmony_ci| globalIpv6Address | string | Yes| No| Global IPv6 address.| 1230e41f4b71Sopenharmony_ci| randomGlobalIpv6Address | string | Yes| No| Random global IPv6 address. This parameter is reserved.| 1231e41f4b71Sopenharmony_ci| uniqueIpv6Address<sup>12+</sup> | string | Yes| No| Unique local address (ULA) in IPv6 format.| 1232e41f4b71Sopenharmony_ci| randomUniqueIpv6Address<sup>12+</sup> | string | Yes| No| Random unique local address (RULA) in IPv6 format.| 1233e41f4b71Sopenharmony_ci| gateway | string | Yes| No| Gateway.| 1234e41f4b71Sopenharmony_ci| netmask | string | Yes| No| Subnet mask.| 1235e41f4b71Sopenharmony_ci| primaryDNS | string | Yes| No| IPv6 address of the preferred DNS server.| 1236e41f4b71Sopenharmony_ci| secondDNS | string | Yes| No| IPv6 address of the alternate DNS server.| 1237e41f4b71Sopenharmony_ci 1238e41f4b71Sopenharmony_ci## wifiManager.getCountryCode<sup>9+</sup> 1239e41f4b71Sopenharmony_ci 1240e41f4b71Sopenharmony_cigetCountryCode(): string 1241e41f4b71Sopenharmony_ci 1242e41f4b71Sopenharmony_ciObtains the country code. 1243e41f4b71Sopenharmony_ci 1244e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1245e41f4b71Sopenharmony_ci 1246e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.Core 1247e41f4b71Sopenharmony_ci 1248e41f4b71Sopenharmony_ci**Return value** 1249e41f4b71Sopenharmony_ci 1250e41f4b71Sopenharmony_ci | **Type**| **Description**| 1251e41f4b71Sopenharmony_ci | -------- | -------- | 1252e41f4b71Sopenharmony_ci | string | Country code obtained.| 1253e41f4b71Sopenharmony_ci 1254e41f4b71Sopenharmony_ci**Error codes** 1255e41f4b71Sopenharmony_ci 1256e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1257e41f4b71Sopenharmony_ci 1258e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1259e41f4b71Sopenharmony_ci| -------- | -------- | 1260e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1261e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1262e41f4b71Sopenharmony_ci| 2401000 | Operation failed.| 1263e41f4b71Sopenharmony_ci 1264e41f4b71Sopenharmony_ci**Example** 1265e41f4b71Sopenharmony_ci```ts 1266e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1267e41f4b71Sopenharmony_ci 1268e41f4b71Sopenharmony_ci try { 1269e41f4b71Sopenharmony_ci let code = wifiManager.getCountryCode(); 1270e41f4b71Sopenharmony_ci console.info("code:" + code); 1271e41f4b71Sopenharmony_ci }catch(error){ 1272e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1273e41f4b71Sopenharmony_ci } 1274e41f4b71Sopenharmony_ci``` 1275e41f4b71Sopenharmony_ci 1276e41f4b71Sopenharmony_ci 1277e41f4b71Sopenharmony_ci 1278e41f4b71Sopenharmony_ci 1279e41f4b71Sopenharmony_ci## wifiManager.isBandTypeSupported<sup>10+</sup> 1280e41f4b71Sopenharmony_ci 1281e41f4b71Sopenharmony_ciisBandTypeSupported(bandType: WifiBandType): boolean 1282e41f4b71Sopenharmony_ci 1283e41f4b71Sopenharmony_ciChecks whether the current frequency band is supported. 1284e41f4b71Sopenharmony_ci 1285e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1286e41f4b71Sopenharmony_ci 1287e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 1288e41f4b71Sopenharmony_ci 1289e41f4b71Sopenharmony_ci**Parameters** 1290e41f4b71Sopenharmony_ci 1291e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 1292e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 1293e41f4b71Sopenharmony_ci | bandType | [WifiBandType](#wifibandtype10) | Yes| Wi-Fi band type.| 1294e41f4b71Sopenharmony_ci 1295e41f4b71Sopenharmony_ci**Return value** 1296e41f4b71Sopenharmony_ci 1297e41f4b71Sopenharmony_ci | **Type**| **Description**| 1298e41f4b71Sopenharmony_ci | -------- | -------- | 1299e41f4b71Sopenharmony_ci | boolean | Returns **true** if the feature is supported; returns **false** otherwise.| 1300e41f4b71Sopenharmony_ci 1301e41f4b71Sopenharmony_ci**Error codes** 1302e41f4b71Sopenharmony_ci 1303e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1304e41f4b71Sopenharmony_ci 1305e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1306e41f4b71Sopenharmony_ci| -------- | -------- | 1307e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1308e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified.<br>2. Incorrect parameter types. 3. Parameter verification failed. | 1309e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1310e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 1311e41f4b71Sopenharmony_ci 1312e41f4b71Sopenharmony_ci**Example** 1313e41f4b71Sopenharmony_ci```ts 1314e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1315e41f4b71Sopenharmony_ci 1316e41f4b71Sopenharmony_ci try { 1317e41f4b71Sopenharmony_ci let type = 0; 1318e41f4b71Sopenharmony_ci let isBandTypeSupported = wifiManager.isBandTypeSupported(type); 1319e41f4b71Sopenharmony_ci console.info("isBandTypeSupported:" + isBandTypeSupported); 1320e41f4b71Sopenharmony_ci }catch(error){ 1321e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1322e41f4b71Sopenharmony_ci } 1323e41f4b71Sopenharmony_ci``` 1324e41f4b71Sopenharmony_ci 1325e41f4b71Sopenharmony_ci 1326e41f4b71Sopenharmony_ci## wifiManager.isMeteredHotspot<sup>11+</sup> 1327e41f4b71Sopenharmony_ci 1328e41f4b71Sopenharmony_ciisMeteredHotspot(): boolean 1329e41f4b71Sopenharmony_ci 1330e41f4b71Sopenharmony_ciChecks whether the Wi-Fi network connected to the device is a smartphone hotspot. 1331e41f4b71Sopenharmony_ci 1332e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1333e41f4b71Sopenharmony_ci 1334e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 1335e41f4b71Sopenharmony_ci 1336e41f4b71Sopenharmony_ci**Return value** 1337e41f4b71Sopenharmony_ci 1338e41f4b71Sopenharmony_ci | **Type**| **Description**| 1339e41f4b71Sopenharmony_ci | -------- | -------- | 1340e41f4b71Sopenharmony_ci | boolean | Returns **true** if the Wi-Fi network connected is a smartphone hotspot; returns **false** otherwise.| 1341e41f4b71Sopenharmony_ci 1342e41f4b71Sopenharmony_ci**Error codes** 1343e41f4b71Sopenharmony_ci 1344e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1345e41f4b71Sopenharmony_ci 1346e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1347e41f4b71Sopenharmony_ci| -------- | -------- | 1348e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1349e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1350e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 1351e41f4b71Sopenharmony_ci| 2501001 | Wi-Fi STA disabled. | 1352e41f4b71Sopenharmony_ci 1353e41f4b71Sopenharmony_ci**Example** 1354e41f4b71Sopenharmony_ci 1355e41f4b71Sopenharmony_ci```ts 1356e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1357e41f4b71Sopenharmony_ci 1358e41f4b71Sopenharmony_ci try { 1359e41f4b71Sopenharmony_ci let isMeteredHotspot = wifiManager.isMeteredHotspot(); 1360e41f4b71Sopenharmony_ci console.info("isMeteredHotspot:" + isMeteredHotspot); 1361e41f4b71Sopenharmony_ci }catch(error){ 1362e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1363e41f4b71Sopenharmony_ci } 1364e41f4b71Sopenharmony_ci``` 1365e41f4b71Sopenharmony_ci 1366e41f4b71Sopenharmony_ci 1367e41f4b71Sopenharmony_ci 1368e41f4b71Sopenharmony_ci## wifiManager.getP2pLinkedInfo<sup>9+</sup> 1369e41f4b71Sopenharmony_ci 1370e41f4b71Sopenharmony_cigetP2pLinkedInfo(): Promise<WifiP2pLinkedInfo> 1371e41f4b71Sopenharmony_ci 1372e41f4b71Sopenharmony_ciObtains P2P link information. This API uses a promise to return the result. 1373e41f4b71Sopenharmony_ci 1374e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1375e41f4b71Sopenharmony_ci 1376e41f4b71Sopenharmony_ciTo obtain **groupOwnerAddr**, the caller must also have the ohos.permission.GET_WIFI_LOCAL_MAC permission, which is available only for system applications. Without this permission, an all-zero address is returned in **groupOwnerAddr**. 1377e41f4b71Sopenharmony_ci 1378e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1379e41f4b71Sopenharmony_ci 1380e41f4b71Sopenharmony_ci**Return value** 1381e41f4b71Sopenharmony_ci 1382e41f4b71Sopenharmony_ci | Type| Description| 1383e41f4b71Sopenharmony_ci | -------- | -------- | 1384e41f4b71Sopenharmony_ci| Promise<[WifiP2pLinkedInfo](#wifip2plinkedinfo9)> | Promise used to return the P2P link information obtained.| 1385e41f4b71Sopenharmony_ci 1386e41f4b71Sopenharmony_ci**Error codes** 1387e41f4b71Sopenharmony_ci 1388e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1389e41f4b71Sopenharmony_ci 1390e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1391e41f4b71Sopenharmony_ci| -------- | -------- | 1392e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1393e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1394e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1395e41f4b71Sopenharmony_ci 1396e41f4b71Sopenharmony_ci 1397e41f4b71Sopenharmony_ci## wifiManager.getP2pLinkedInfo<sup>9+</sup> 1398e41f4b71Sopenharmony_ci 1399e41f4b71Sopenharmony_cigetP2pLinkedInfo(callback: AsyncCallback<WifiP2pLinkedInfo>): void 1400e41f4b71Sopenharmony_ci 1401e41f4b71Sopenharmony_ciObtains P2P link information. This API uses an asynchronous callback to return the result. 1402e41f4b71Sopenharmony_ci 1403e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1404e41f4b71Sopenharmony_ci 1405e41f4b71Sopenharmony_ciTo obtain **groupOwnerAddr**, the caller must also have the ohos.permission.GET_WIFI_LOCAL_MAC permission, which is available only for system applications. Without this permission, an all-zero address is returned in **groupOwnerAddr**. 1406e41f4b71Sopenharmony_ci 1407e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1408e41f4b71Sopenharmony_ci 1409e41f4b71Sopenharmony_ci**Parameters** 1410e41f4b71Sopenharmony_ci 1411e41f4b71Sopenharmony_ci | Name| Type| Mandatory| Description| 1412e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 1413e41f4b71Sopenharmony_ci | callback | AsyncCallback<[WifiP2pLinkedInfo](#wifip2plinkedinfo9)> | Yes| Callback used to return the result. If the operation is successful, **err** is **0** and **data** is the P2P link information. If the operation fails, **err** is not **0**.| 1414e41f4b71Sopenharmony_ci 1415e41f4b71Sopenharmony_ci**Error codes** 1416e41f4b71Sopenharmony_ci 1417e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1418e41f4b71Sopenharmony_ci 1419e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1420e41f4b71Sopenharmony_ci| -------- | -------- | 1421e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1422e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1423e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1424e41f4b71Sopenharmony_ci| 2801001 | Wi-Fi STA disabled. | 1425e41f4b71Sopenharmony_ci 1426e41f4b71Sopenharmony_ci**Example** 1427e41f4b71Sopenharmony_ci```ts 1428e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1429e41f4b71Sopenharmony_ci 1430e41f4b71Sopenharmony_ci wifiManager.getP2pLinkedInfo((err, data) => { 1431e41f4b71Sopenharmony_ci if (err) { 1432e41f4b71Sopenharmony_ci console.error("get p2p linked info error"); 1433e41f4b71Sopenharmony_ci return; 1434e41f4b71Sopenharmony_ci } 1435e41f4b71Sopenharmony_ci console.info("get wifi p2p linked info: " + JSON.stringify(data)); 1436e41f4b71Sopenharmony_ci }); 1437e41f4b71Sopenharmony_ci 1438e41f4b71Sopenharmony_ci wifiManager.getP2pLinkedInfo().then(data => { 1439e41f4b71Sopenharmony_ci console.info("get wifi p2p linked info: " + JSON.stringify(data)); 1440e41f4b71Sopenharmony_ci }); 1441e41f4b71Sopenharmony_ci``` 1442e41f4b71Sopenharmony_ci 1443e41f4b71Sopenharmony_ci 1444e41f4b71Sopenharmony_ci## WifiP2pLinkedInfo<sup>9+</sup> 1445e41f4b71Sopenharmony_ci 1446e41f4b71Sopenharmony_ciRepresents the P2P link information. 1447e41f4b71Sopenharmony_ci 1448e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1449e41f4b71Sopenharmony_ci 1450e41f4b71Sopenharmony_ci| Name| Type| Readable| Writable| Description| 1451e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 1452e41f4b71Sopenharmony_ci| connectState | [P2pConnectState](#p2pconnectstate9) | Yes| No| P2P connection state.| 1453e41f4b71Sopenharmony_ci| isGroupOwner | boolean | Yes| No| Whether the device is the group owner.| 1454e41f4b71Sopenharmony_ci| groupOwnerAddr | string | Yes| No| IP address of the group. 1455e41f4b71Sopenharmony_ci 1456e41f4b71Sopenharmony_ci 1457e41f4b71Sopenharmony_ci## P2pConnectState<sup>9+</sup> 1458e41f4b71Sopenharmony_ci 1459e41f4b71Sopenharmony_ciEnumerates the P2P connection states. 1460e41f4b71Sopenharmony_ci 1461e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1462e41f4b71Sopenharmony_ci 1463e41f4b71Sopenharmony_ci| Name| Value| Description| 1464e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 1465e41f4b71Sopenharmony_ci| DISCONNECTED | 0 | Disconnected.| 1466e41f4b71Sopenharmony_ci| CONNECTED | 1 | Connected.| 1467e41f4b71Sopenharmony_ci 1468e41f4b71Sopenharmony_ci## wifiManager.getCurrentGroup<sup>9+</sup> 1469e41f4b71Sopenharmony_ci 1470e41f4b71Sopenharmony_cigetCurrentGroup(): Promise<WifiP2pGroupInfo> 1471e41f4b71Sopenharmony_ci 1472e41f4b71Sopenharmony_ciObtains the current P2P group information. This API uses a promise to return the result. 1473e41f4b71Sopenharmony_ci 1474e41f4b71Sopenharmony_ci**Required permissions**: 1475e41f4b71Sopenharmony_ci 1476e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 1477e41f4b71Sopenharmony_ci 1478e41f4b71Sopenharmony_ciAPI version 10 and later: ohos.permission.GET_WIFI_INFO 1479e41f4b71Sopenharmony_ci 1480e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1481e41f4b71Sopenharmony_ci 1482e41f4b71Sopenharmony_ci**Return value** 1483e41f4b71Sopenharmony_ci 1484e41f4b71Sopenharmony_ci| Type| Description| 1485e41f4b71Sopenharmony_ci| -------- | -------- | 1486e41f4b71Sopenharmony_ci| Promise<[WifiP2pGroupInfo](#wifip2pgroupinfo9)> | Promise used to return the P2P group information obtained. If the caller has the ohos.permission.GET_WIFI_PEERS_MAC permission (available only for system applications), **deviceAddress** in the return value is a real device address. Otherwise, **deviceAddress** is a random device address.| 1487e41f4b71Sopenharmony_ci 1488e41f4b71Sopenharmony_ci**Error codes** 1489e41f4b71Sopenharmony_ci 1490e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1491e41f4b71Sopenharmony_ci 1492e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1493e41f4b71Sopenharmony_ci| -------- | -------- | 1494e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1495e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1496e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1497e41f4b71Sopenharmony_ci 1498e41f4b71Sopenharmony_ci## wifiManager.getCurrentGroup<sup>9+</sup> 1499e41f4b71Sopenharmony_ci 1500e41f4b71Sopenharmony_cigetCurrentGroup(callback: AsyncCallback<WifiP2pGroupInfo>): void 1501e41f4b71Sopenharmony_ci 1502e41f4b71Sopenharmony_ciObtains the current P2P group information. This API uses an asynchronous callback to return the result. 1503e41f4b71Sopenharmony_ci 1504e41f4b71Sopenharmony_ci**Required permissions**: 1505e41f4b71Sopenharmony_ci 1506e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 1507e41f4b71Sopenharmony_ci 1508e41f4b71Sopenharmony_ciAPI version 10 and later: ohos.permission.GET_WIFI_INFO 1509e41f4b71Sopenharmony_ci 1510e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1511e41f4b71Sopenharmony_ci 1512e41f4b71Sopenharmony_ci**Parameters** 1513e41f4b71Sopenharmony_ci 1514e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1515e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1516e41f4b71Sopenharmony_ci| callback | AsyncCallback<[WifiP2pGroupInfo](#wifip2pgroupinfo9)> | Yes| Callback used to return the result. If the operation is successful, **err** is **0** and **data** is the group information obtained. If the operation fails, **error** is not **0**. If the caller has the ohos.permission.GET_WIFI_PEERS_MAC permission (available only for system applications), **deviceAddress** in the return value is a real device address. Otherwise, **deviceAddress** is a random device address.| 1517e41f4b71Sopenharmony_ci 1518e41f4b71Sopenharmony_ci**Error codes** 1519e41f4b71Sopenharmony_ci 1520e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1521e41f4b71Sopenharmony_ci 1522e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1523e41f4b71Sopenharmony_ci| -------- | -------- | 1524e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1525e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1526e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1527e41f4b71Sopenharmony_ci 1528e41f4b71Sopenharmony_ci**Example** 1529e41f4b71Sopenharmony_ci```ts 1530e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1531e41f4b71Sopenharmony_ci // The current group information can be obtained only after the P2P group is created or the connection is successful. 1532e41f4b71Sopenharmony_ci wifiManager.getCurrentGroup((err, data) => { 1533e41f4b71Sopenharmony_ci if (err) { 1534e41f4b71Sopenharmony_ci console.error("get current P2P group error"); 1535e41f4b71Sopenharmony_ci return; 1536e41f4b71Sopenharmony_ci } 1537e41f4b71Sopenharmony_ci console.info("get current P2P group: " + JSON.stringify(data)); 1538e41f4b71Sopenharmony_ci }); 1539e41f4b71Sopenharmony_ci 1540e41f4b71Sopenharmony_ci wifiManager.getCurrentGroup().then(data => { 1541e41f4b71Sopenharmony_ci console.info("get current P2P group: " + JSON.stringify(data)); 1542e41f4b71Sopenharmony_ci }); 1543e41f4b71Sopenharmony_ci``` 1544e41f4b71Sopenharmony_ci 1545e41f4b71Sopenharmony_ci## wifiManager.getP2pPeerDevices<sup>9+</sup> 1546e41f4b71Sopenharmony_ci 1547e41f4b71Sopenharmony_cigetP2pPeerDevices(): Promise<WifiP2pDevice[]> 1548e41f4b71Sopenharmony_ci 1549e41f4b71Sopenharmony_ciObtains the peer device list in the P2P connection. This API uses a promise to return the result. 1550e41f4b71Sopenharmony_ci 1551e41f4b71Sopenharmony_ci**Required permissions**: 1552e41f4b71Sopenharmony_ci 1553e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 1554e41f4b71Sopenharmony_ci 1555e41f4b71Sopenharmony_ciAPI version 10 and later: ohos.permission.GET_WIFI_INFO 1556e41f4b71Sopenharmony_ci 1557e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1558e41f4b71Sopenharmony_ci 1559e41f4b71Sopenharmony_ci**Return value** 1560e41f4b71Sopenharmony_ci 1561e41f4b71Sopenharmony_ci| Type| Description| 1562e41f4b71Sopenharmony_ci| -------- | -------- | 1563e41f4b71Sopenharmony_ci| Promise<[WifiP2pDevice[]](#wifip2pdevice9)> | Promise used to return the peer device list. If the caller has the ohos.permission.GET_WIFI_PEERS_MAC permission (available only for system applications), **deviceAddress** in the return value is a real device address. Otherwise, **deviceAddress** is a random device address.| 1564e41f4b71Sopenharmony_ci 1565e41f4b71Sopenharmony_ci**Error codes** 1566e41f4b71Sopenharmony_ci 1567e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1568e41f4b71Sopenharmony_ci 1569e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1570e41f4b71Sopenharmony_ci| -------- | -------- | 1571e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1572e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1573e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1574e41f4b71Sopenharmony_ci 1575e41f4b71Sopenharmony_ci## wifiManager.getP2pPeerDevices<sup>9+</sup> 1576e41f4b71Sopenharmony_ci 1577e41f4b71Sopenharmony_cigetP2pPeerDevices(callback: AsyncCallback<WifiP2pDevice[]>): void 1578e41f4b71Sopenharmony_ci 1579e41f4b71Sopenharmony_ciObtains the peer device list in the P2P connection. This API uses an asynchronous callback to return the result. 1580e41f4b71Sopenharmony_ci 1581e41f4b71Sopenharmony_ci**Required permissions**: 1582e41f4b71Sopenharmony_ci 1583e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 1584e41f4b71Sopenharmony_ci 1585e41f4b71Sopenharmony_ciAPI version 10 and later: ohos.permission.GET_WIFI_INFO 1586e41f4b71Sopenharmony_ci 1587e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1588e41f4b71Sopenharmony_ci 1589e41f4b71Sopenharmony_ci**Parameters** 1590e41f4b71Sopenharmony_ci 1591e41f4b71Sopenharmony_ci| Name| Type| Mandatory| Description| 1592e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1593e41f4b71Sopenharmony_ci| callback | AsyncCallback<[WifiP2pDevice[]](#wifip2pdevice9)> | Yes| Callback used to return the result. If the operation is successful, **err** is **0** and **data** is the peer device list obtained. If the operation fails, **err** is not **0**. If the caller has the ohos.permission.GET_WIFI_PEERS_MAC permission (available only for system applications), **deviceAddress** in the return value is a real device address. Otherwise, **deviceAddress** is a random device address.| 1594e41f4b71Sopenharmony_ci 1595e41f4b71Sopenharmony_ci**Error codes** 1596e41f4b71Sopenharmony_ci 1597e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1598e41f4b71Sopenharmony_ci 1599e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1600e41f4b71Sopenharmony_ci| -------- | -------- | 1601e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1602e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1603e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1604e41f4b71Sopenharmony_ci| 2801001 | Wi-Fi STA disabled. | 1605e41f4b71Sopenharmony_ci 1606e41f4b71Sopenharmony_ci**Example** 1607e41f4b71Sopenharmony_ci```ts 1608e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1609e41f4b71Sopenharmony_ci // The peer device list can be obtained only after the P2P discovery is complete. 1610e41f4b71Sopenharmony_ci wifiManager.getP2pPeerDevices((err, data) => { 1611e41f4b71Sopenharmony_ci if (err) { 1612e41f4b71Sopenharmony_ci console.error("get P2P peer devices error"); 1613e41f4b71Sopenharmony_ci return; 1614e41f4b71Sopenharmony_ci } 1615e41f4b71Sopenharmony_ci console.info("get P2P peer devices: " + JSON.stringify(data)); 1616e41f4b71Sopenharmony_ci }); 1617e41f4b71Sopenharmony_ci 1618e41f4b71Sopenharmony_ci wifiManager.getP2pPeerDevices().then(data => { 1619e41f4b71Sopenharmony_ci console.info("get P2P peer devices: " + JSON.stringify(data)); 1620e41f4b71Sopenharmony_ci }); 1621e41f4b71Sopenharmony_ci``` 1622e41f4b71Sopenharmony_ci 1623e41f4b71Sopenharmony_ci## WifiP2pDevice<sup>9+</sup> 1624e41f4b71Sopenharmony_ci 1625e41f4b71Sopenharmony_ciRepresents the P2P device information. 1626e41f4b71Sopenharmony_ci 1627e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1628e41f4b71Sopenharmony_ci 1629e41f4b71Sopenharmony_ci| Name| Type| Readable| Writable| Description| 1630e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 1631e41f4b71Sopenharmony_ci| deviceName | string | Yes| No| Device name.| 1632e41f4b71Sopenharmony_ci| deviceAddress | string | Yes| No| MAC address of the device.| 1633e41f4b71Sopenharmony_ci| deviceAddressType<sup>10+</sup> | [DeviceAddressType](#deviceaddresstype10) | Yes| No| MAC address type of the device.| 1634e41f4b71Sopenharmony_ci| primaryDeviceType | string | Yes| No| Type of the primary device.| 1635e41f4b71Sopenharmony_ci| deviceStatus | [P2pDeviceStatus](#p2pdevicestatus9) | Yes| No| Device status.| 1636e41f4b71Sopenharmony_ci| groupCapabilities | number | Yes| No| Group capabilities.| 1637e41f4b71Sopenharmony_ci 1638e41f4b71Sopenharmony_ci 1639e41f4b71Sopenharmony_ci## P2pDeviceStatus<sup>9+</sup> 1640e41f4b71Sopenharmony_ci 1641e41f4b71Sopenharmony_ciEnumerates the P2P device states. 1642e41f4b71Sopenharmony_ci 1643e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1644e41f4b71Sopenharmony_ci 1645e41f4b71Sopenharmony_ci| Name| Value| Description| 1646e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 1647e41f4b71Sopenharmony_ci| CONNECTED | 0 | Connected.| 1648e41f4b71Sopenharmony_ci| INVITED | 1 | Invited.| 1649e41f4b71Sopenharmony_ci| FAILED | 2 | Failed.| 1650e41f4b71Sopenharmony_ci| AVAILABLE | 3 | Available.| 1651e41f4b71Sopenharmony_ci| UNAVAILABLE | 4 | Unavailable.| 1652e41f4b71Sopenharmony_ci 1653e41f4b71Sopenharmony_ci 1654e41f4b71Sopenharmony_ci## wifiManager.getP2pLocalDevice<sup>9+</sup> 1655e41f4b71Sopenharmony_ci 1656e41f4b71Sopenharmony_cigetP2pLocalDevice(): Promise<WifiP2pDevice> 1657e41f4b71Sopenharmony_ci 1658e41f4b71Sopenharmony_ciObtains the local device information in the P2P connection. This API uses a promise to return the result. 1659e41f4b71Sopenharmony_ci 1660e41f4b71Sopenharmony_ci**Required permissions**: 1661e41f4b71Sopenharmony_ci 1662e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO and ohos.permission.GET_WIFI_CONFIG 1663e41f4b71Sopenharmony_ci 1664e41f4b71Sopenharmony_ciAPI version 11 and later: ohos.permission.GET_WIFI_INFO 1665e41f4b71Sopenharmony_ci 1666e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1667e41f4b71Sopenharmony_ci 1668e41f4b71Sopenharmony_ci**Return value** 1669e41f4b71Sopenharmony_ci 1670e41f4b71Sopenharmony_ci | Type| Description| 1671e41f4b71Sopenharmony_ci | -------- | -------- | 1672e41f4b71Sopenharmony_ci | Promise<[WifiP2pDevice](#wifip2pdevice9)> | Promise used to return the local device information obtained.| 1673e41f4b71Sopenharmony_ci 1674e41f4b71Sopenharmony_ci**Error codes** 1675e41f4b71Sopenharmony_ci 1676e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1677e41f4b71Sopenharmony_ci 1678e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1679e41f4b71Sopenharmony_ci| -------- | -------- | 1680e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1681e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1682e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1683e41f4b71Sopenharmony_ci 1684e41f4b71Sopenharmony_ci## wifiManager.getP2pLocalDevice<sup>9+</sup> 1685e41f4b71Sopenharmony_ci 1686e41f4b71Sopenharmony_cigetP2pLocalDevice(callback: AsyncCallback<WifiP2pDevice>): void 1687e41f4b71Sopenharmony_ci 1688e41f4b71Sopenharmony_ciObtains the local device information in the P2P connection. This API uses an asynchronous callback to return the result. 1689e41f4b71Sopenharmony_ci 1690e41f4b71Sopenharmony_ci**Required permissions**: 1691e41f4b71Sopenharmony_ci 1692e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO and ohos.permission.GET_WIFI_CONFIG 1693e41f4b71Sopenharmony_ci 1694e41f4b71Sopenharmony_ciAPI version 11 and later: ohos.permission.GET_WIFI_INFO 1695e41f4b71Sopenharmony_ci 1696e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1697e41f4b71Sopenharmony_ci 1698e41f4b71Sopenharmony_ci**Parameters** 1699e41f4b71Sopenharmony_ci 1700e41f4b71Sopenharmony_ci | Name| Type| Mandatory| Description| 1701e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 1702e41f4b71Sopenharmony_ci | callback | AsyncCallback<[WifiP2pDevice](#wifip2pdevice9)> | Yes| Callback used to return the result. If the operation is successful, **err** is **0** and **data** is the local device information obtained. If the operation fails, **error** is not **0**.| 1703e41f4b71Sopenharmony_ci 1704e41f4b71Sopenharmony_ci**Error codes** 1705e41f4b71Sopenharmony_ci 1706e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1707e41f4b71Sopenharmony_ci| -------- | -------- | 1708e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1709e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1710e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1711e41f4b71Sopenharmony_ci| 2801001 | Wi-Fi STA disabled. | 1712e41f4b71Sopenharmony_ci 1713e41f4b71Sopenharmony_ci**Example** 1714e41f4b71Sopenharmony_ci```ts 1715e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1716e41f4b71Sopenharmony_ci // The local device information can be obtained only after a P2P group is created or the connection is successful. 1717e41f4b71Sopenharmony_ci wifiManager.getP2pLocalDevice((err, data) => { 1718e41f4b71Sopenharmony_ci if (err) { 1719e41f4b71Sopenharmony_ci console.error("get P2P local device error"); 1720e41f4b71Sopenharmony_ci return; 1721e41f4b71Sopenharmony_ci } 1722e41f4b71Sopenharmony_ci console.info("get P2P local device: " + JSON.stringify(data)); 1723e41f4b71Sopenharmony_ci }); 1724e41f4b71Sopenharmony_ci 1725e41f4b71Sopenharmony_ci wifiManager.getP2pLocalDevice().then(data => { 1726e41f4b71Sopenharmony_ci console.info("get P2P local device: " + JSON.stringify(data)); 1727e41f4b71Sopenharmony_ci }); 1728e41f4b71Sopenharmony_ci``` 1729e41f4b71Sopenharmony_ci 1730e41f4b71Sopenharmony_ci## wifiManager.createGroup<sup>9+</sup> 1731e41f4b71Sopenharmony_ci 1732e41f4b71Sopenharmony_cicreateGroup(config: WifiP2PConfig): void 1733e41f4b71Sopenharmony_ci 1734e41f4b71Sopenharmony_ciCreates a P2P group. 1735e41f4b71Sopenharmony_ci 1736e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1737e41f4b71Sopenharmony_ci 1738e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1739e41f4b71Sopenharmony_ci 1740e41f4b71Sopenharmony_ci**Parameters** 1741e41f4b71Sopenharmony_ci 1742e41f4b71Sopenharmony_ci| **Name**| **Type**| Mandatory| **Description**| 1743e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1744e41f4b71Sopenharmony_ci| config | [WifiP2PConfig](#wifip2pconfig9) | Yes| Group configuration. The default **DeviceAddressType** is random device address.| 1745e41f4b71Sopenharmony_ci 1746e41f4b71Sopenharmony_ci**Error codes** 1747e41f4b71Sopenharmony_ci 1748e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1749e41f4b71Sopenharmony_ci 1750e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1751e41f4b71Sopenharmony_ci| -------- | -------- | 1752e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1753e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Incorrect parameter types.<br>2. Parameter verification failed. | 1754e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1755e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1756e41f4b71Sopenharmony_ci| 2801001 | Wi-Fi STA disabled. | 1757e41f4b71Sopenharmony_ci 1758e41f4b71Sopenharmony_ci**Example** 1759e41f4b71Sopenharmony_ci```ts 1760e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1761e41f4b71Sopenharmony_ci 1762e41f4b71Sopenharmony_ci try { 1763e41f4b71Sopenharmony_ci let config:wifiManager.WifiP2PConfig = { 1764e41f4b71Sopenharmony_ci deviceAddress: "****", 1765e41f4b71Sopenharmony_ci netId: 0, 1766e41f4b71Sopenharmony_ci passphrase: "*****", 1767e41f4b71Sopenharmony_ci groupName: "****", 1768e41f4b71Sopenharmony_ci goBand: 0 1769e41f4b71Sopenharmony_ci } 1770e41f4b71Sopenharmony_ci wifiManager.createGroup(config); 1771e41f4b71Sopenharmony_ci 1772e41f4b71Sopenharmony_ci }catch(error){ 1773e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1774e41f4b71Sopenharmony_ci } 1775e41f4b71Sopenharmony_ci``` 1776e41f4b71Sopenharmony_ci 1777e41f4b71Sopenharmony_ci## WifiP2PConfig<sup>9+</sup> 1778e41f4b71Sopenharmony_ci 1779e41f4b71Sopenharmony_ciRepresents P2P group configuration. 1780e41f4b71Sopenharmony_ci 1781e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1782e41f4b71Sopenharmony_ci 1783e41f4b71Sopenharmony_ci| Name| Type| Readable| Writable| Description| 1784e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 1785e41f4b71Sopenharmony_ci| deviceAddress | string | Yes| No| Device address.| 1786e41f4b71Sopenharmony_ci| deviceAddressType<sup>10+</sup>| [DeviceAddressType](#deviceaddresstype10) | Yes| No| Device address type.| 1787e41f4b71Sopenharmony_ci| netId | number | Yes| No| Network ID. The value **-1** indicates a temporary group, and **-2** indicates a persistent group.| 1788e41f4b71Sopenharmony_ci| passphrase | string | Yes| No| Passphrase of the group.| 1789e41f4b71Sopenharmony_ci| groupName | string | Yes| No| Name of the group.| 1790e41f4b71Sopenharmony_ci| goBand | [GroupOwnerBand](#groupownerband9) | Yes| No| Frequency band of the group.| 1791e41f4b71Sopenharmony_ci 1792e41f4b71Sopenharmony_ci 1793e41f4b71Sopenharmony_ci## GroupOwnerBand<sup>9+</sup> 1794e41f4b71Sopenharmony_ci 1795e41f4b71Sopenharmony_ciEnumerates the P2P group frequency bands. 1796e41f4b71Sopenharmony_ci 1797e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1798e41f4b71Sopenharmony_ci 1799e41f4b71Sopenharmony_ci| Name| Value| Description| 1800e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 1801e41f4b71Sopenharmony_ci| GO_BAND_AUTO | 0 | Auto.| 1802e41f4b71Sopenharmony_ci| GO_BAND_2GHZ | 1 | 2.4 GHz.| 1803e41f4b71Sopenharmony_ci| GO_BAND_5GHZ | 2 | 5 GHz.| 1804e41f4b71Sopenharmony_ci 1805e41f4b71Sopenharmony_ci 1806e41f4b71Sopenharmony_ci## wifiManager.removeGroup<sup>9+</sup> 1807e41f4b71Sopenharmony_ci 1808e41f4b71Sopenharmony_ciremoveGroup(): void 1809e41f4b71Sopenharmony_ci 1810e41f4b71Sopenharmony_ciRemoves this P2P group. 1811e41f4b71Sopenharmony_ci 1812e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1813e41f4b71Sopenharmony_ci 1814e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1815e41f4b71Sopenharmony_ci 1816e41f4b71Sopenharmony_ci**Error codes** 1817e41f4b71Sopenharmony_ci 1818e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1819e41f4b71Sopenharmony_ci 1820e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1821e41f4b71Sopenharmony_ci| -------- | -------- | 1822e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1823e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1824e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1825e41f4b71Sopenharmony_ci| 2801001 | Wi-Fi STA disabled. | 1826e41f4b71Sopenharmony_ci 1827e41f4b71Sopenharmony_ci**Example** 1828e41f4b71Sopenharmony_ci```ts 1829e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1830e41f4b71Sopenharmony_ci 1831e41f4b71Sopenharmony_ci try { 1832e41f4b71Sopenharmony_ci wifiManager.removeGroup(); 1833e41f4b71Sopenharmony_ci }catch(error){ 1834e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1835e41f4b71Sopenharmony_ci } 1836e41f4b71Sopenharmony_ci``` 1837e41f4b71Sopenharmony_ci 1838e41f4b71Sopenharmony_ci## wifiManager.p2pConnect<sup>9+</sup> 1839e41f4b71Sopenharmony_ci 1840e41f4b71Sopenharmony_cip2pConnect(config: WifiP2PConfig): void 1841e41f4b71Sopenharmony_ci 1842e41f4b71Sopenharmony_ciSets up a P2P connection. 1843e41f4b71Sopenharmony_ci 1844e41f4b71Sopenharmony_ci**Required permissions**: 1845e41f4b71Sopenharmony_ci 1846e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 1847e41f4b71Sopenharmony_ci 1848e41f4b71Sopenharmony_ciAPI version 10 and later: ohos.permission.GET_WIFI_INFO 1849e41f4b71Sopenharmony_ci 1850e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1851e41f4b71Sopenharmony_ci 1852e41f4b71Sopenharmony_ci**Parameters** 1853e41f4b71Sopenharmony_ci 1854e41f4b71Sopenharmony_ci| **Name**| **Type**| Mandatory| **Description**| 1855e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 1856e41f4b71Sopenharmony_ci| config | [WifiP2PConfig](#wifip2pconfig9) | Yes| P2P group configuration. The default **DeviceAddressType** is random device address.| 1857e41f4b71Sopenharmony_ci 1858e41f4b71Sopenharmony_ci**Error codes** 1859e41f4b71Sopenharmony_ci 1860e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1861e41f4b71Sopenharmony_ci 1862e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1863e41f4b71Sopenharmony_ci| -------- | -------- | 1864e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1865e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Incorrect parameter types.<br>2. Parameter verification failed. | 1866e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1867e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1868e41f4b71Sopenharmony_ci| 2801001 | Wi-Fi STA disabled. | 1869e41f4b71Sopenharmony_ci 1870e41f4b71Sopenharmony_ci**Example** 1871e41f4b71Sopenharmony_ci```ts 1872e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1873e41f4b71Sopenharmony_ci 1874e41f4b71Sopenharmony_ci let recvP2pConnectionChangeFunc = (result:wifiManager.WifiP2pLinkedInfo) => { 1875e41f4b71Sopenharmony_ci console.info("p2p connection change receive event: " + JSON.stringify(result)); 1876e41f4b71Sopenharmony_ci wifiManager.getP2pLinkedInfo((err, data) => { 1877e41f4b71Sopenharmony_ci if (err) { 1878e41f4b71Sopenharmony_ci console.error('failed to get getP2pLinkedInfo: ' + JSON.stringify(err)); 1879e41f4b71Sopenharmony_ci return; 1880e41f4b71Sopenharmony_ci } 1881e41f4b71Sopenharmony_ci console.info("get getP2pLinkedInfo: " + JSON.stringify(data)); 1882e41f4b71Sopenharmony_ci }); 1883e41f4b71Sopenharmony_ci } 1884e41f4b71Sopenharmony_ci wifiManager.on("p2pConnectionChange", recvP2pConnectionChangeFunc); 1885e41f4b71Sopenharmony_ci 1886e41f4b71Sopenharmony_ci let recvP2pDeviceChangeFunc = (result:wifiManager.WifiP2pDevice) => { 1887e41f4b71Sopenharmony_ci console.info("p2p device change receive event: " + JSON.stringify(result)); 1888e41f4b71Sopenharmony_ci } 1889e41f4b71Sopenharmony_ci wifiManager.on("p2pDeviceChange", recvP2pDeviceChangeFunc); 1890e41f4b71Sopenharmony_ci 1891e41f4b71Sopenharmony_ci let recvP2pPeerDeviceChangeFunc = (result:wifiManager.WifiP2pDevice[]) => { 1892e41f4b71Sopenharmony_ci console.info("p2p peer device change receive event: " + JSON.stringify(result)); 1893e41f4b71Sopenharmony_ci wifiManager.getP2pPeerDevices((err, data) => { 1894e41f4b71Sopenharmony_ci if (err) { 1895e41f4b71Sopenharmony_ci console.error('failed to get peer devices: ' + JSON.stringify(err)); 1896e41f4b71Sopenharmony_ci return; 1897e41f4b71Sopenharmony_ci } 1898e41f4b71Sopenharmony_ci console.info("get peer devices: " + JSON.stringify(data)); 1899e41f4b71Sopenharmony_ci let len = data.length; 1900e41f4b71Sopenharmony_ci for (let i = 0; i < len; ++i) { 1901e41f4b71Sopenharmony_ci if (data[i].deviceName === "my_test_device") { 1902e41f4b71Sopenharmony_ci console.info("p2p connect to test device: " + data[i].deviceAddress); 1903e41f4b71Sopenharmony_ci let config:wifiManager.WifiP2PConfig = { 1904e41f4b71Sopenharmony_ci deviceAddress:data[i].deviceAddress, 1905e41f4b71Sopenharmony_ci netId:-2, 1906e41f4b71Sopenharmony_ci passphrase:"", 1907e41f4b71Sopenharmony_ci groupName:"", 1908e41f4b71Sopenharmony_ci goBand:0, 1909e41f4b71Sopenharmony_ci } 1910e41f4b71Sopenharmony_ci wifiManager.p2pConnect(config); 1911e41f4b71Sopenharmony_ci } 1912e41f4b71Sopenharmony_ci } 1913e41f4b71Sopenharmony_ci }); 1914e41f4b71Sopenharmony_ci } 1915e41f4b71Sopenharmony_ci wifiManager.on("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc); 1916e41f4b71Sopenharmony_ci 1917e41f4b71Sopenharmony_ci let recvP2pPersistentGroupChangeFunc = () => { 1918e41f4b71Sopenharmony_ci console.info("p2p persistent group change receive event"); 1919e41f4b71Sopenharmony_ci 1920e41f4b71Sopenharmony_ci wifiManager.getCurrentGroup((err, data) => { 1921e41f4b71Sopenharmony_ci if (err) { 1922e41f4b71Sopenharmony_ci console.error('failed to get current group: ' + JSON.stringify(err)); 1923e41f4b71Sopenharmony_ci return; 1924e41f4b71Sopenharmony_ci } 1925e41f4b71Sopenharmony_ci console.info("get current group: " + JSON.stringify(data)); 1926e41f4b71Sopenharmony_ci }); 1927e41f4b71Sopenharmony_ci } 1928e41f4b71Sopenharmony_ci wifiManager.on("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc); 1929e41f4b71Sopenharmony_ci 1930e41f4b71Sopenharmony_ci setTimeout(() => {wifiManager.off("p2pConnectionChange", recvP2pConnectionChangeFunc);}, 125 * 1000); 1931e41f4b71Sopenharmony_ci setTimeout(() => {wifiManager.off("p2pDeviceChange", recvP2pDeviceChangeFunc);}, 125 * 1000); 1932e41f4b71Sopenharmony_ci setTimeout(() => {wifiManager.off("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);}, 125 * 1000); 1933e41f4b71Sopenharmony_ci setTimeout(() => {wifiManager.off("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);}, 125 * 1000); 1934e41f4b71Sopenharmony_ci console.info("start discover devices -> " + wifiManager.startDiscoverDevices()); 1935e41f4b71Sopenharmony_ci``` 1936e41f4b71Sopenharmony_ci 1937e41f4b71Sopenharmony_ci## wifiManager.p2pCancelConnect<sup>9+</sup> 1938e41f4b71Sopenharmony_ci 1939e41f4b71Sopenharmony_cip2pCancelConnect(): void 1940e41f4b71Sopenharmony_ci 1941e41f4b71Sopenharmony_ciCancels the P2P connection being set up. 1942e41f4b71Sopenharmony_ci 1943e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 1944e41f4b71Sopenharmony_ci 1945e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1946e41f4b71Sopenharmony_ci 1947e41f4b71Sopenharmony_ci**Error codes** 1948e41f4b71Sopenharmony_ci 1949e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1950e41f4b71Sopenharmony_ci 1951e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1952e41f4b71Sopenharmony_ci| -------- | -------- | 1953e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1954e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1955e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1956e41f4b71Sopenharmony_ci| 2801001 | Wi-Fi STA disabled. | 1957e41f4b71Sopenharmony_ci 1958e41f4b71Sopenharmony_ci**Example** 1959e41f4b71Sopenharmony_ci```ts 1960e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1961e41f4b71Sopenharmony_ci 1962e41f4b71Sopenharmony_ci try { 1963e41f4b71Sopenharmony_ci wifiManager.p2pCancelConnect(); 1964e41f4b71Sopenharmony_ci }catch(error){ 1965e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 1966e41f4b71Sopenharmony_ci } 1967e41f4b71Sopenharmony_ci``` 1968e41f4b71Sopenharmony_ci 1969e41f4b71Sopenharmony_ci## wifiManager.startDiscoverDevices<sup>9+</sup> 1970e41f4b71Sopenharmony_ci 1971e41f4b71Sopenharmony_cistartDiscoverDevices(): void 1972e41f4b71Sopenharmony_ci 1973e41f4b71Sopenharmony_ciStarts to discover devices. 1974e41f4b71Sopenharmony_ci 1975e41f4b71Sopenharmony_ci**Required permissions**: 1976e41f4b71Sopenharmony_ci 1977e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 1978e41f4b71Sopenharmony_ci 1979e41f4b71Sopenharmony_ciAPI version 10 and later: ohos.permission.GET_WIFI_INFO 1980e41f4b71Sopenharmony_ci 1981e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 1982e41f4b71Sopenharmony_ci 1983e41f4b71Sopenharmony_ci**Error codes** 1984e41f4b71Sopenharmony_ci 1985e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 1986e41f4b71Sopenharmony_ci 1987e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 1988e41f4b71Sopenharmony_ci| -------- | -------- | 1989e41f4b71Sopenharmony_ci| 201 | Permission denied. | 1990e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 1991e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 1992e41f4b71Sopenharmony_ci| 2801001 | Wi-Fi STA disabled. | 1993e41f4b71Sopenharmony_ci 1994e41f4b71Sopenharmony_ci**Example** 1995e41f4b71Sopenharmony_ci```ts 1996e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 1997e41f4b71Sopenharmony_ci 1998e41f4b71Sopenharmony_ci try { 1999e41f4b71Sopenharmony_ci wifiManager.startDiscoverDevices(); 2000e41f4b71Sopenharmony_ci }catch(error){ 2001e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 2002e41f4b71Sopenharmony_ci } 2003e41f4b71Sopenharmony_ci``` 2004e41f4b71Sopenharmony_ci 2005e41f4b71Sopenharmony_ci## wifiManager.stopDiscoverDevices<sup>9+</sup> 2006e41f4b71Sopenharmony_ci 2007e41f4b71Sopenharmony_cistopDiscoverDevices(): void 2008e41f4b71Sopenharmony_ci 2009e41f4b71Sopenharmony_ciStops discovering devices. 2010e41f4b71Sopenharmony_ci 2011e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2012e41f4b71Sopenharmony_ci 2013e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2014e41f4b71Sopenharmony_ci 2015e41f4b71Sopenharmony_ci**Error codes** 2016e41f4b71Sopenharmony_ci 2017e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2018e41f4b71Sopenharmony_ci 2019e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2020e41f4b71Sopenharmony_ci| -------- | -------- | 2021e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2022e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2023e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2024e41f4b71Sopenharmony_ci| 2801001 | Wi-Fi STA disabled. | 2025e41f4b71Sopenharmony_ci 2026e41f4b71Sopenharmony_ci**Example** 2027e41f4b71Sopenharmony_ci```ts 2028e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2029e41f4b71Sopenharmony_ci 2030e41f4b71Sopenharmony_ci try { 2031e41f4b71Sopenharmony_ci wifiManager.stopDiscoverDevices(); 2032e41f4b71Sopenharmony_ci }catch(error){ 2033e41f4b71Sopenharmony_ci console.error("failed:" + JSON.stringify(error)); 2034e41f4b71Sopenharmony_ci } 2035e41f4b71Sopenharmony_ci``` 2036e41f4b71Sopenharmony_ci 2037e41f4b71Sopenharmony_ci 2038e41f4b71Sopenharmony_ci 2039e41f4b71Sopenharmony_ci## WifiP2pGroupInfo<sup>9+</sup> 2040e41f4b71Sopenharmony_ci 2041e41f4b71Sopenharmony_ciRepresents the P2P group information. 2042e41f4b71Sopenharmony_ci 2043e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2044e41f4b71Sopenharmony_ci 2045e41f4b71Sopenharmony_ci| Name| Type| Readable| Writable| Description| 2046e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- | 2047e41f4b71Sopenharmony_ci| isP2pGo | boolean | Yes| No| Whether the device is the group owner.| 2048e41f4b71Sopenharmony_ci| ownerInfo | [WifiP2pDevice](#wifip2pdevice9) | Yes| No| Device information of the group.| 2049e41f4b71Sopenharmony_ci| passphrase | string | Yes| No| Passphrase of the group.| 2050e41f4b71Sopenharmony_ci| interface | string | Yes| No| Interface name.| 2051e41f4b71Sopenharmony_ci| groupName | string | Yes| No| Group name.| 2052e41f4b71Sopenharmony_ci| networkId | number | Yes| No| Network ID.| 2053e41f4b71Sopenharmony_ci| frequency | number | Yes| No| Frequency of the group.| 2054e41f4b71Sopenharmony_ci| clientDevices | [WifiP2pDevice[]](#wifip2pdevice9) | Yes| No| List of connected devices.| 2055e41f4b71Sopenharmony_ci| goIpAddress | string | Yes| No| IP address of the group.| 2056e41f4b71Sopenharmony_ci 2057e41f4b71Sopenharmony_ci 2058e41f4b71Sopenharmony_ci## wifiManager.on('wifiStateChange')<sup>9+</sup> 2059e41f4b71Sopenharmony_ci 2060e41f4b71Sopenharmony_cion(type: "wifiStateChange", callback: Callback<number>): void 2061e41f4b71Sopenharmony_ci 2062e41f4b71Sopenharmony_ciSubscribes to WLAN state changes. 2063e41f4b71Sopenharmony_ci 2064e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2065e41f4b71Sopenharmony_ci 2066e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2067e41f4b71Sopenharmony_ci 2068e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 2069e41f4b71Sopenharmony_ci 2070e41f4b71Sopenharmony_ci**Parameters** 2071e41f4b71Sopenharmony_ci 2072e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2073e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2074e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **wifiStateChange**.| 2075e41f4b71Sopenharmony_ci | callback | Callback<number> | Yes| Callback used to return the WLAN state.| 2076e41f4b71Sopenharmony_ci 2077e41f4b71Sopenharmony_ci**Error codes** 2078e41f4b71Sopenharmony_ci 2079e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2080e41f4b71Sopenharmony_ci 2081e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2082e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2083e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2084e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2085e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2086e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 2087e41f4b71Sopenharmony_ci 2088e41f4b71Sopenharmony_ci**WLAN states** 2089e41f4b71Sopenharmony_ci 2090e41f4b71Sopenharmony_ci| **Value**| **Description**| 2091e41f4b71Sopenharmony_ci| -------- | -------- | 2092e41f4b71Sopenharmony_ci| 0 | Deactivated| 2093e41f4b71Sopenharmony_ci| 1 | Activated| 2094e41f4b71Sopenharmony_ci| 2 | Activating| 2095e41f4b71Sopenharmony_ci| 3 | Deactivating| 2096e41f4b71Sopenharmony_ci 2097e41f4b71Sopenharmony_ci 2098e41f4b71Sopenharmony_ci## wifiManager.off('wifiStateChange')<sup>9+</sup> 2099e41f4b71Sopenharmony_ci 2100e41f4b71Sopenharmony_cioff(type: "wifiStateChange", callback?: Callback<number>): void 2101e41f4b71Sopenharmony_ci 2102e41f4b71Sopenharmony_ciUnsubscribes from WLAN state changes. 2103e41f4b71Sopenharmony_ci 2104e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2105e41f4b71Sopenharmony_ci 2106e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2107e41f4b71Sopenharmony_ci 2108e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 2109e41f4b71Sopenharmony_ci 2110e41f4b71Sopenharmony_ci**Parameters** 2111e41f4b71Sopenharmony_ci 2112e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2113e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2114e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **wifiStateChange**.| 2115e41f4b71Sopenharmony_ci | callback | Callback<number> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. | 2116e41f4b71Sopenharmony_ci 2117e41f4b71Sopenharmony_ci**Error codes** 2118e41f4b71Sopenharmony_ci 2119e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2120e41f4b71Sopenharmony_ci 2121e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2122e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2123e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2124e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2125e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2126e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 2127e41f4b71Sopenharmony_ci 2128e41f4b71Sopenharmony_ci**Example** 2129e41f4b71Sopenharmony_ci```ts 2130e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2131e41f4b71Sopenharmony_ci 2132e41f4b71Sopenharmony_ci let recvPowerNotifyFunc = (result:number) => { 2133e41f4b71Sopenharmony_ci console.info("Receive power state change event: " + result); 2134e41f4b71Sopenharmony_ci } 2135e41f4b71Sopenharmony_ci 2136e41f4b71Sopenharmony_ci // Register an event. 2137e41f4b71Sopenharmony_ci wifiManager.on("wifiStateChange", recvPowerNotifyFunc); 2138e41f4b71Sopenharmony_ci 2139e41f4b71Sopenharmony_ci // Unregister an event. 2140e41f4b71Sopenharmony_ci wifiManager.off("wifiStateChange", recvPowerNotifyFunc); 2141e41f4b71Sopenharmony_ci``` 2142e41f4b71Sopenharmony_ci 2143e41f4b71Sopenharmony_ci 2144e41f4b71Sopenharmony_ci## wifiManager.on('wifiConnectionChange')<sup>9+</sup> 2145e41f4b71Sopenharmony_ci 2146e41f4b71Sopenharmony_cion(type: "wifiConnectionChange", callback: Callback<number>): void 2147e41f4b71Sopenharmony_ci 2148e41f4b71Sopenharmony_ciSubscribes to WLAN connection state changes. 2149e41f4b71Sopenharmony_ci 2150e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2151e41f4b71Sopenharmony_ci 2152e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2153e41f4b71Sopenharmony_ci 2154e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 2155e41f4b71Sopenharmony_ci 2156e41f4b71Sopenharmony_ci**Parameters** 2157e41f4b71Sopenharmony_ci 2158e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2159e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2160e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **wifiConnectionChange**.| 2161e41f4b71Sopenharmony_ci | callback | Callback<number> | Yes| Callback used to return the WLAN connection state.| 2162e41f4b71Sopenharmony_ci 2163e41f4b71Sopenharmony_ci**WLAN connection states** 2164e41f4b71Sopenharmony_ci 2165e41f4b71Sopenharmony_ci| **Value**| **Description**| 2166e41f4b71Sopenharmony_ci| -------- | -------- | 2167e41f4b71Sopenharmony_ci| 0 | Disconnected.| 2168e41f4b71Sopenharmony_ci| 1 | Connected.| 2169e41f4b71Sopenharmony_ci 2170e41f4b71Sopenharmony_ci**Error codes** 2171e41f4b71Sopenharmony_ci 2172e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2173e41f4b71Sopenharmony_ci 2174e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2175e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2176e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2177e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2178e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2179e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 2180e41f4b71Sopenharmony_ci 2181e41f4b71Sopenharmony_ci## wifiManager.off('wifiConnectionChange')<sup>9+</sup> 2182e41f4b71Sopenharmony_ci 2183e41f4b71Sopenharmony_cioff(type: "wifiConnectionChange", callback?: Callback<number>): void 2184e41f4b71Sopenharmony_ci 2185e41f4b71Sopenharmony_ciUnsubscribes from WLAN connection state changes. 2186e41f4b71Sopenharmony_ci 2187e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2188e41f4b71Sopenharmony_ci 2189e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2190e41f4b71Sopenharmony_ci 2191e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 2192e41f4b71Sopenharmony_ci 2193e41f4b71Sopenharmony_ci**Parameters** 2194e41f4b71Sopenharmony_ci 2195e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2196e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2197e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **wifiConnectionChange**.| 2198e41f4b71Sopenharmony_ci| callback | Callback<number> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event.| 2199e41f4b71Sopenharmony_ci 2200e41f4b71Sopenharmony_ci**Error codes** 2201e41f4b71Sopenharmony_ci 2202e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2203e41f4b71Sopenharmony_ci 2204e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2205e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2206e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2207e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2208e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2209e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 2210e41f4b71Sopenharmony_ci 2211e41f4b71Sopenharmony_ci**Example** 2212e41f4b71Sopenharmony_ci```ts 2213e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2214e41f4b71Sopenharmony_ci 2215e41f4b71Sopenharmony_ci let recvWifiConnectionChangeFunc = (result:number) => { 2216e41f4b71Sopenharmony_ci console.info("Receive wifi connection change event: " + result); 2217e41f4b71Sopenharmony_ci } 2218e41f4b71Sopenharmony_ci 2219e41f4b71Sopenharmony_ci // Register an event. 2220e41f4b71Sopenharmony_ci wifiManager.on("wifiConnectionChange", recvWifiConnectionChangeFunc); 2221e41f4b71Sopenharmony_ci 2222e41f4b71Sopenharmony_ci // Unregister an event. 2223e41f4b71Sopenharmony_ci wifiManager.off("wifiConnectionChange", recvWifiConnectionChangeFunc); 2224e41f4b71Sopenharmony_ci``` 2225e41f4b71Sopenharmony_ci 2226e41f4b71Sopenharmony_ci## wifiManager.on('wifiScanStateChange')<sup>9+</sup> 2227e41f4b71Sopenharmony_ci 2228e41f4b71Sopenharmony_cion(type: "wifiScanStateChange", callback: Callback<number>): void 2229e41f4b71Sopenharmony_ci 2230e41f4b71Sopenharmony_ciSubscribes to WLAN scan state changes. 2231e41f4b71Sopenharmony_ci 2232e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2233e41f4b71Sopenharmony_ci 2234e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2235e41f4b71Sopenharmony_ci 2236e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 2237e41f4b71Sopenharmony_ci 2238e41f4b71Sopenharmony_ci**Parameters** 2239e41f4b71Sopenharmony_ci 2240e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2241e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2242e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **wifiScanStateChange**.| 2243e41f4b71Sopenharmony_ci | callback | Callback<number> | Yes| Callback used to return the WLAN scan state.| 2244e41f4b71Sopenharmony_ci 2245e41f4b71Sopenharmony_ci**WLAN scan states** 2246e41f4b71Sopenharmony_ci 2247e41f4b71Sopenharmony_ci| **Value**| **Description**| 2248e41f4b71Sopenharmony_ci| -------- | -------- | 2249e41f4b71Sopenharmony_ci| 0 | Scan failed.| 2250e41f4b71Sopenharmony_ci| 1 | Scan successful.| 2251e41f4b71Sopenharmony_ci 2252e41f4b71Sopenharmony_ci**Error codes** 2253e41f4b71Sopenharmony_ci 2254e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2255e41f4b71Sopenharmony_ci 2256e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2257e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2258e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2259e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2260e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2261e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 2262e41f4b71Sopenharmony_ci 2263e41f4b71Sopenharmony_ci## wifiManager.off('wifiScanStateChange')<sup>9+</sup> 2264e41f4b71Sopenharmony_ci 2265e41f4b71Sopenharmony_cioff(type: "wifiScanStateChange", callback?: Callback<number>): void 2266e41f4b71Sopenharmony_ci 2267e41f4b71Sopenharmony_ciUnsubscribes from WLAN scan state changes. 2268e41f4b71Sopenharmony_ci 2269e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2270e41f4b71Sopenharmony_ci 2271e41f4b71Sopenharmony_ci**Atomic service API**: This API can be used in atomic services since API version 12. 2272e41f4b71Sopenharmony_ci 2273e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 2274e41f4b71Sopenharmony_ci 2275e41f4b71Sopenharmony_ci**Parameters** 2276e41f4b71Sopenharmony_ci 2277e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 2278e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2279e41f4b71Sopenharmony_ci| type | string | Yes| Event type, which has a fixed value of **wifiScanStateChange**.| 2280e41f4b71Sopenharmony_ci| callback | Callback<number> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. | 2281e41f4b71Sopenharmony_ci 2282e41f4b71Sopenharmony_ci**Error codes** 2283e41f4b71Sopenharmony_ci 2284e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2285e41f4b71Sopenharmony_ci 2286e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2287e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2288e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2289e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2290e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2291e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 2292e41f4b71Sopenharmony_ci 2293e41f4b71Sopenharmony_ci**Example** 2294e41f4b71Sopenharmony_ci```ts 2295e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2296e41f4b71Sopenharmony_ci 2297e41f4b71Sopenharmony_ci let recvWifiScanStateChangeFunc = (result:number) => { 2298e41f4b71Sopenharmony_ci console.info("Receive Wifi scan state change event: " + result); 2299e41f4b71Sopenharmony_ci } 2300e41f4b71Sopenharmony_ci 2301e41f4b71Sopenharmony_ci // Register an event. 2302e41f4b71Sopenharmony_ci wifiManager.on("wifiScanStateChange", recvWifiScanStateChangeFunc); 2303e41f4b71Sopenharmony_ci 2304e41f4b71Sopenharmony_ci // Unregister an event. 2305e41f4b71Sopenharmony_ci wifiManager.off("wifiScanStateChange", recvWifiScanStateChangeFunc); 2306e41f4b71Sopenharmony_ci``` 2307e41f4b71Sopenharmony_ci 2308e41f4b71Sopenharmony_ci## wifiManager.on('wifiRssiChange')<sup>9+</sup> 2309e41f4b71Sopenharmony_ci 2310e41f4b71Sopenharmony_cion(type: "wifiRssiChange", callback: Callback<number>): void 2311e41f4b71Sopenharmony_ci 2312e41f4b71Sopenharmony_ciSubscribes to RSSI changes. 2313e41f4b71Sopenharmony_ci 2314e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2315e41f4b71Sopenharmony_ci 2316e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 2317e41f4b71Sopenharmony_ci 2318e41f4b71Sopenharmony_ci**Parameters** 2319e41f4b71Sopenharmony_ci 2320e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2321e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2322e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **wifiRssiChange**.| 2323e41f4b71Sopenharmony_ci | callback | Callback<number> | Yes| Callback used to return the RSSI, in dBm.| 2324e41f4b71Sopenharmony_ci 2325e41f4b71Sopenharmony_ci**Error codes** 2326e41f4b71Sopenharmony_ci 2327e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2328e41f4b71Sopenharmony_ci 2329e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2330e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2331e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2332e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2333e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2334e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 2335e41f4b71Sopenharmony_ci 2336e41f4b71Sopenharmony_ci## wifiManager.off('wifiRssiChange')<sup>9+</sup> 2337e41f4b71Sopenharmony_ci 2338e41f4b71Sopenharmony_cioff(type: "wifiRssiChange", callback?: Callback<number>): void 2339e41f4b71Sopenharmony_ci 2340e41f4b71Sopenharmony_ciUnsubscribes from RSSI changes. 2341e41f4b71Sopenharmony_ci 2342e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2343e41f4b71Sopenharmony_ci 2344e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.STA 2345e41f4b71Sopenharmony_ci 2346e41f4b71Sopenharmony_ci**Parameters** 2347e41f4b71Sopenharmony_ci 2348e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 2349e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2350e41f4b71Sopenharmony_ci| type | string | Yes| Event type, which has a fixed value of **wifiRssiChange**.| 2351e41f4b71Sopenharmony_ci| callback | Callback<number> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. | 2352e41f4b71Sopenharmony_ci 2353e41f4b71Sopenharmony_ci**Error codes** 2354e41f4b71Sopenharmony_ci 2355e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2356e41f4b71Sopenharmony_ci 2357e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2358e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2359e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2360e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2361e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2362e41f4b71Sopenharmony_ci| 2501000 | Operation failed.| 2363e41f4b71Sopenharmony_ci 2364e41f4b71Sopenharmony_ci**Example** 2365e41f4b71Sopenharmony_ci```ts 2366e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2367e41f4b71Sopenharmony_ci 2368e41f4b71Sopenharmony_ci let recvWifiRssiChangeFunc = (result:number) => { 2369e41f4b71Sopenharmony_ci console.info("Receive wifi rssi change event: " + result); 2370e41f4b71Sopenharmony_ci } 2371e41f4b71Sopenharmony_ci 2372e41f4b71Sopenharmony_ci // Register an event. 2373e41f4b71Sopenharmony_ci wifiManager.on("wifiRssiChange", recvWifiRssiChangeFunc); 2374e41f4b71Sopenharmony_ci 2375e41f4b71Sopenharmony_ci // Unregister an event. 2376e41f4b71Sopenharmony_ci wifiManager.off("wifiRssiChange", recvWifiRssiChangeFunc); 2377e41f4b71Sopenharmony_ci``` 2378e41f4b71Sopenharmony_ci 2379e41f4b71Sopenharmony_ci## wifiManager.on('hotspotStateChange')<sup>9+</sup> 2380e41f4b71Sopenharmony_ci 2381e41f4b71Sopenharmony_cion(type: "hotspotStateChange", callback: Callback<number>): void 2382e41f4b71Sopenharmony_ci 2383e41f4b71Sopenharmony_ciSubscribes to hotspot state changes. 2384e41f4b71Sopenharmony_ci 2385e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2386e41f4b71Sopenharmony_ci 2387e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.AP.Core 2388e41f4b71Sopenharmony_ci 2389e41f4b71Sopenharmony_ci**Parameters** 2390e41f4b71Sopenharmony_ci 2391e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 2392e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2393e41f4b71Sopenharmony_ci| type | string | Yes| Event type, which has a fixed value of **hotspotStateChange**.| 2394e41f4b71Sopenharmony_ci| callback | Callback<number> | Yes| Callback used to return the hotspot state.| 2395e41f4b71Sopenharmony_ci 2396e41f4b71Sopenharmony_ci**Hotspot states** 2397e41f4b71Sopenharmony_ci 2398e41f4b71Sopenharmony_ci| **Value**| **Description**| 2399e41f4b71Sopenharmony_ci| -------- | -------- | 2400e41f4b71Sopenharmony_ci| 0 | Deactivated| 2401e41f4b71Sopenharmony_ci| 1 | Activated| 2402e41f4b71Sopenharmony_ci| 2 | Activating| 2403e41f4b71Sopenharmony_ci| 3 | Deactivating| 2404e41f4b71Sopenharmony_ci 2405e41f4b71Sopenharmony_ci**Error codes** 2406e41f4b71Sopenharmony_ci 2407e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2408e41f4b71Sopenharmony_ci 2409e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2410e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2411e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2412e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2413e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2414e41f4b71Sopenharmony_ci| 2601000 | Operation failed. | 2415e41f4b71Sopenharmony_ci 2416e41f4b71Sopenharmony_ci## wifiManager.off('hotspotStateChange')<sup>9+</sup> 2417e41f4b71Sopenharmony_ci 2418e41f4b71Sopenharmony_cioff(type: "hotspotStateChange", callback?: Callback<number>): void 2419e41f4b71Sopenharmony_ci 2420e41f4b71Sopenharmony_ciUnsubscribes from hotspot state changes. 2421e41f4b71Sopenharmony_ci 2422e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2423e41f4b71Sopenharmony_ci 2424e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.AP.Core 2425e41f4b71Sopenharmony_ci 2426e41f4b71Sopenharmony_ci**Parameters** 2427e41f4b71Sopenharmony_ci 2428e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 2429e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2430e41f4b71Sopenharmony_ci| type | string | Yes| Event type, which has a fixed value of **hotspotStateChange**.| 2431e41f4b71Sopenharmony_ci| callback | Callback<number> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. | 2432e41f4b71Sopenharmony_ci 2433e41f4b71Sopenharmony_ci**Error codes** 2434e41f4b71Sopenharmony_ci 2435e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2436e41f4b71Sopenharmony_ci 2437e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2438e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2439e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2440e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2441e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2442e41f4b71Sopenharmony_ci| 2601000 | Operation failed. | 2443e41f4b71Sopenharmony_ci 2444e41f4b71Sopenharmony_ci**Example** 2445e41f4b71Sopenharmony_ci```ts 2446e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2447e41f4b71Sopenharmony_ci 2448e41f4b71Sopenharmony_ci let recvHotspotStateChangeFunc = (result:number) => { 2449e41f4b71Sopenharmony_ci console.info("Receive hotspot state change event: " + result); 2450e41f4b71Sopenharmony_ci } 2451e41f4b71Sopenharmony_ci 2452e41f4b71Sopenharmony_ci // Register an event. 2453e41f4b71Sopenharmony_ci wifiManager.on("hotspotStateChange", recvHotspotStateChangeFunc); 2454e41f4b71Sopenharmony_ci 2455e41f4b71Sopenharmony_ci // Unregister an event. 2456e41f4b71Sopenharmony_ci wifiManager.off("hotspotStateChange", recvHotspotStateChangeFunc); 2457e41f4b71Sopenharmony_ci``` 2458e41f4b71Sopenharmony_ci 2459e41f4b71Sopenharmony_ci 2460e41f4b71Sopenharmony_ci## wifiManager.on('p2pStateChange')<sup>9+</sup> 2461e41f4b71Sopenharmony_ci 2462e41f4b71Sopenharmony_cion(type: "p2pStateChange", callback: Callback<number>): void 2463e41f4b71Sopenharmony_ci 2464e41f4b71Sopenharmony_ciSubscribes to P2P state changes. 2465e41f4b71Sopenharmony_ci 2466e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2467e41f4b71Sopenharmony_ci 2468e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2469e41f4b71Sopenharmony_ci 2470e41f4b71Sopenharmony_ci**Parameters** 2471e41f4b71Sopenharmony_ci 2472e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 2473e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2474e41f4b71Sopenharmony_ci| type | string | Yes| Event type, which has a fixed value of **p2pStateChange**.| 2475e41f4b71Sopenharmony_ci| callback | Callback<number> | Yes| Callback used to return the P2P state change.| 2476e41f4b71Sopenharmony_ci 2477e41f4b71Sopenharmony_ci**P2P states** 2478e41f4b71Sopenharmony_ci 2479e41f4b71Sopenharmony_ci| **Value**| **Description**| 2480e41f4b71Sopenharmony_ci| -------- | -------- | 2481e41f4b71Sopenharmony_ci| 1 | Available| 2482e41f4b71Sopenharmony_ci| 2 | Opening| 2483e41f4b71Sopenharmony_ci| 3 | Opened| 2484e41f4b71Sopenharmony_ci| 4 | Closing| 2485e41f4b71Sopenharmony_ci| 5 | Closed| 2486e41f4b71Sopenharmony_ci 2487e41f4b71Sopenharmony_ci**Error codes** 2488e41f4b71Sopenharmony_ci 2489e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2490e41f4b71Sopenharmony_ci 2491e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2492e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2493e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2494e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2495e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2496e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2497e41f4b71Sopenharmony_ci 2498e41f4b71Sopenharmony_ci## wifiManager.off('p2pStateChange')<sup>9+</sup> 2499e41f4b71Sopenharmony_ci 2500e41f4b71Sopenharmony_cioff(type: "p2pStateChange", callback?: Callback<number>): void 2501e41f4b71Sopenharmony_ci 2502e41f4b71Sopenharmony_ciUnsubscribes from P2P state changes. 2503e41f4b71Sopenharmony_ci 2504e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2505e41f4b71Sopenharmony_ci 2506e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2507e41f4b71Sopenharmony_ci 2508e41f4b71Sopenharmony_ci**Parameters** 2509e41f4b71Sopenharmony_ci 2510e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2511e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2512e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **p2pStateChange**.| 2513e41f4b71Sopenharmony_ci | callback | Callback<number> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. | 2514e41f4b71Sopenharmony_ci 2515e41f4b71Sopenharmony_ci**Error codes** 2516e41f4b71Sopenharmony_ci 2517e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2518e41f4b71Sopenharmony_ci 2519e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2520e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2521e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2522e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2523e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2524e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2525e41f4b71Sopenharmony_ci 2526e41f4b71Sopenharmony_ci**Example** 2527e41f4b71Sopenharmony_ci```ts 2528e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2529e41f4b71Sopenharmony_ci 2530e41f4b71Sopenharmony_ci let recvP2pStateChangeFunc = (result:number) => { 2531e41f4b71Sopenharmony_ci console.info("Receive p2p state change event: " + result); 2532e41f4b71Sopenharmony_ci } 2533e41f4b71Sopenharmony_ci 2534e41f4b71Sopenharmony_ci // Register an event. 2535e41f4b71Sopenharmony_ci wifiManager.on("p2pStateChange", recvP2pStateChangeFunc); 2536e41f4b71Sopenharmony_ci 2537e41f4b71Sopenharmony_ci // Unregister an event. 2538e41f4b71Sopenharmony_ci wifiManager.off("p2pStateChange", recvP2pStateChangeFunc); 2539e41f4b71Sopenharmony_ci``` 2540e41f4b71Sopenharmony_ci 2541e41f4b71Sopenharmony_ci## wifiManager.on('p2pConnectionChange')<sup>9+</sup> 2542e41f4b71Sopenharmony_ci 2543e41f4b71Sopenharmony_cion(type: "p2pConnectionChange", callback: Callback<WifiP2pLinkedInfo>): void 2544e41f4b71Sopenharmony_ci 2545e41f4b71Sopenharmony_ciSubscribes to P2P connection state changes. 2546e41f4b71Sopenharmony_ci 2547e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2548e41f4b71Sopenharmony_ci 2549e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2550e41f4b71Sopenharmony_ci 2551e41f4b71Sopenharmony_ci**Parameters** 2552e41f4b71Sopenharmony_ci 2553e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2554e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2555e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **p2pConnectionChange**.| 2556e41f4b71Sopenharmony_ci| callback | Callback<[WifiP2pLinkedInfo](#wifip2plinkedinfo9)> | Yes| Callback used to return the P2P connection state change.| 2557e41f4b71Sopenharmony_ci 2558e41f4b71Sopenharmony_ci**Error codes** 2559e41f4b71Sopenharmony_ci 2560e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2561e41f4b71Sopenharmony_ci 2562e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2563e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2564e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2565e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2566e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2567e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2568e41f4b71Sopenharmony_ci 2569e41f4b71Sopenharmony_ci## wifiManager.off('p2pConnectionChange')<sup>9+</sup> 2570e41f4b71Sopenharmony_ci 2571e41f4b71Sopenharmony_cioff(type: "p2pConnectionChange", callback?: Callback<WifiP2pLinkedInfo>): void 2572e41f4b71Sopenharmony_ci 2573e41f4b71Sopenharmony_ciUnsubscribes from P2P connection state changes. 2574e41f4b71Sopenharmony_ci 2575e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2576e41f4b71Sopenharmony_ci 2577e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2578e41f4b71Sopenharmony_ci 2579e41f4b71Sopenharmony_ci**Parameters** 2580e41f4b71Sopenharmony_ci 2581e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2582e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2583e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **p2pConnectionChange**.| 2584e41f4b71Sopenharmony_ci | callback | Callback<[WifiP2pLinkedInfo](#wifip2plinkedinfo9)> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. | 2585e41f4b71Sopenharmony_ci 2586e41f4b71Sopenharmony_ci**Error codes** 2587e41f4b71Sopenharmony_ci 2588e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2589e41f4b71Sopenharmony_ci 2590e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2591e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2592e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2593e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2594e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2595e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2596e41f4b71Sopenharmony_ci 2597e41f4b71Sopenharmony_ci**Example** 2598e41f4b71Sopenharmony_ci```ts 2599e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2600e41f4b71Sopenharmony_ci 2601e41f4b71Sopenharmony_ci let recvP2pConnectionChangeFunc = (result:wifiManager.WifiP2pLinkedInfo) => { 2602e41f4b71Sopenharmony_ci console.info("Receive p2p connection change event: " + result); 2603e41f4b71Sopenharmony_ci } 2604e41f4b71Sopenharmony_ci 2605e41f4b71Sopenharmony_ci // Register an event. 2606e41f4b71Sopenharmony_ci wifiManager.on("p2pConnectionChange", recvP2pConnectionChangeFunc); 2607e41f4b71Sopenharmony_ci 2608e41f4b71Sopenharmony_ci // Unregister an event. 2609e41f4b71Sopenharmony_ci wifiManager.off("p2pConnectionChange", recvP2pConnectionChangeFunc); 2610e41f4b71Sopenharmony_ci``` 2611e41f4b71Sopenharmony_ci 2612e41f4b71Sopenharmony_ci## wifiManager.on('p2pDeviceChange')<sup>9+</sup> 2613e41f4b71Sopenharmony_ci 2614e41f4b71Sopenharmony_cion(type: "p2pDeviceChange", callback: Callback<WifiP2pDevice>): void 2615e41f4b71Sopenharmony_ci 2616e41f4b71Sopenharmony_ciSubscribes to P2P device state changes. 2617e41f4b71Sopenharmony_ci 2618e41f4b71Sopenharmony_ci**Required permissions**: 2619e41f4b71Sopenharmony_ci 2620e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 2621e41f4b71Sopenharmony_ci 2622e41f4b71Sopenharmony_ciAPI version 10 and later: ohos.permission.GET_WIFI_INFO 2623e41f4b71Sopenharmony_ci 2624e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2625e41f4b71Sopenharmony_ci 2626e41f4b71Sopenharmony_ci**Parameters** 2627e41f4b71Sopenharmony_ci 2628e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2629e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2630e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **p2pDeviceChange**.| 2631e41f4b71Sopenharmony_ci| callback | Callback<[WifiP2pDevice](#wifip2pdevice9)> | Yes| Callback used to return the device state change.| 2632e41f4b71Sopenharmony_ci 2633e41f4b71Sopenharmony_ci**Error codes** 2634e41f4b71Sopenharmony_ci 2635e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2636e41f4b71Sopenharmony_ci 2637e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2638e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2639e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2640e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2641e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2642e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2643e41f4b71Sopenharmony_ci 2644e41f4b71Sopenharmony_ci## wifiManager.off('p2pDeviceChange')<sup>9+</sup> 2645e41f4b71Sopenharmony_ci 2646e41f4b71Sopenharmony_cioff(type: "p2pDeviceChange", callback?: Callback<WifiP2pDevice>): void 2647e41f4b71Sopenharmony_ci 2648e41f4b71Sopenharmony_ciUnsubscribes from P2P device state changes. 2649e41f4b71Sopenharmony_ci 2650e41f4b71Sopenharmony_ci**Required permissions**: 2651e41f4b71Sopenharmony_ci 2652e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION 2653e41f4b71Sopenharmony_ci 2654e41f4b71Sopenharmony_ciAPI version 10 and later: No permission is required. 2655e41f4b71Sopenharmony_ci 2656e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2657e41f4b71Sopenharmony_ci 2658e41f4b71Sopenharmony_ci**Parameters** 2659e41f4b71Sopenharmony_ci 2660e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2661e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2662e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **p2pDeviceChange**.| 2663e41f4b71Sopenharmony_ci | callback | Callback<[WifiP2pDevice](#wifip2pdevice9)> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. | 2664e41f4b71Sopenharmony_ci 2665e41f4b71Sopenharmony_ci**Error codes** 2666e41f4b71Sopenharmony_ci 2667e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2668e41f4b71Sopenharmony_ci 2669e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2670e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2671e41f4b71Sopenharmony_ci| 201<sup>10+</sup> | Permission denied. | 2672e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2673e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2674e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2675e41f4b71Sopenharmony_ci 2676e41f4b71Sopenharmony_ci**Example** 2677e41f4b71Sopenharmony_ci```ts 2678e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2679e41f4b71Sopenharmony_ci 2680e41f4b71Sopenharmony_ci let recvP2pDeviceChangeFunc = (result:wifiManager.WifiP2pDevice) => { 2681e41f4b71Sopenharmony_ci console.info("Receive p2p device change event: " + result); 2682e41f4b71Sopenharmony_ci } 2683e41f4b71Sopenharmony_ci 2684e41f4b71Sopenharmony_ci // Register an event. 2685e41f4b71Sopenharmony_ci wifiManager.on("p2pDeviceChange", recvP2pDeviceChangeFunc); 2686e41f4b71Sopenharmony_ci 2687e41f4b71Sopenharmony_ci // Unregister an event. 2688e41f4b71Sopenharmony_ci wifiManager.off("p2pDeviceChange", recvP2pDeviceChangeFunc); 2689e41f4b71Sopenharmony_ci``` 2690e41f4b71Sopenharmony_ci 2691e41f4b71Sopenharmony_ci## wifiManager.on('p2pPeerDeviceChange')<sup>9+</sup> 2692e41f4b71Sopenharmony_ci 2693e41f4b71Sopenharmony_cion(type: "p2pPeerDeviceChange", callback: Callback<WifiP2pDevice[]>): void 2694e41f4b71Sopenharmony_ci 2695e41f4b71Sopenharmony_ciSubscribes to P2P peer device state changes. 2696e41f4b71Sopenharmony_ci 2697e41f4b71Sopenharmony_ci**Required permissions**: 2698e41f4b71Sopenharmony_ci 2699e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.GET_WIFI_INFO, ohos.permission.LOCATION, and ohos.permission.APPROXIMATELY_LOCATION 2700e41f4b71Sopenharmony_ci 2701e41f4b71Sopenharmony_ciAPI version 10 and later: ohos.permission.GET_WIFI_INFO 2702e41f4b71Sopenharmony_ci 2703e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2704e41f4b71Sopenharmony_ci 2705e41f4b71Sopenharmony_ci**Parameters** 2706e41f4b71Sopenharmony_ci 2707e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 2708e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2709e41f4b71Sopenharmony_ci| type | string | Yes| Event type, which has a fixed value of **p2pPeerDeviceChange**.| 2710e41f4b71Sopenharmony_ci| callback | Callback<[WifiP2pDevice[]](#wifip2pdevice9)> | Yes| Callback used to return the P2P peer device state change. If the caller has the ohos.permission.GET_WIFI_PEERS_MAC permission (available only for system applications), **deviceAddress** in the return value is a real device address. Otherwise, **deviceAddress** is a random device address.| 2711e41f4b71Sopenharmony_ci 2712e41f4b71Sopenharmony_ci**Error codes** 2713e41f4b71Sopenharmony_ci 2714e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2715e41f4b71Sopenharmony_ci 2716e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2717e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2718e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2719e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2720e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2721e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2722e41f4b71Sopenharmony_ci 2723e41f4b71Sopenharmony_ci## wifiManager.off('p2pPeerDeviceChange')<sup>9+</sup> 2724e41f4b71Sopenharmony_ci 2725e41f4b71Sopenharmony_cioff(type: "p2pPeerDeviceChange", callback?: Callback<WifiP2pDevice[]>): void 2726e41f4b71Sopenharmony_ci 2727e41f4b71Sopenharmony_ciUnsubscribes from P2P peer device state changes. 2728e41f4b71Sopenharmony_ci 2729e41f4b71Sopenharmony_ci**Required permissions**: 2730e41f4b71Sopenharmony_ci 2731e41f4b71Sopenharmony_ciAPI version 9: ohos.permission.LOCATION and ohos.permission.APPROXIMATELY_LOCATION 2732e41f4b71Sopenharmony_ci 2733e41f4b71Sopenharmony_ciAPI version 10 and later: No permission is required. 2734e41f4b71Sopenharmony_ci 2735e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2736e41f4b71Sopenharmony_ci 2737e41f4b71Sopenharmony_ci**Parameters** 2738e41f4b71Sopenharmony_ci 2739e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 2740e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2741e41f4b71Sopenharmony_ci| type | string | Yes| Event type, which has a fixed value of **p2pPeerDeviceChange**.| 2742e41f4b71Sopenharmony_ci| callback | Callback<[WifiP2pDevice[]](#wifip2pdevice9)> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. If the caller has the ohos.permission.GET_WIFI_PEERS_MAC permission (available only for system applications), **deviceAddress** in the return value is a real device address. Otherwise, **deviceAddress** is a random device address.| 2743e41f4b71Sopenharmony_ci 2744e41f4b71Sopenharmony_ci**Error codes** 2745e41f4b71Sopenharmony_ci 2746e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2747e41f4b71Sopenharmony_ci 2748e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2749e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2750e41f4b71Sopenharmony_ci| 201<sup>10+</sup> | Permission denied. | 2751e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2752e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2753e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2754e41f4b71Sopenharmony_ci 2755e41f4b71Sopenharmony_ci**Example** 2756e41f4b71Sopenharmony_ci```ts 2757e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2758e41f4b71Sopenharmony_ci 2759e41f4b71Sopenharmony_ci let recvP2pPeerDeviceChangeFunc = (result:wifiManager.WifiP2pDevice[]) => { 2760e41f4b71Sopenharmony_ci console.info("Receive p2p peer device change event: " + result); 2761e41f4b71Sopenharmony_ci } 2762e41f4b71Sopenharmony_ci 2763e41f4b71Sopenharmony_ci // Register an event. 2764e41f4b71Sopenharmony_ci wifiManager.on("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc); 2765e41f4b71Sopenharmony_ci 2766e41f4b71Sopenharmony_ci // Unregister an event. 2767e41f4b71Sopenharmony_ci wifiManager.off("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc); 2768e41f4b71Sopenharmony_ci``` 2769e41f4b71Sopenharmony_ci 2770e41f4b71Sopenharmony_ci## wifiManager.on('p2pPersistentGroupChange')<sup>9+</sup> 2771e41f4b71Sopenharmony_ci 2772e41f4b71Sopenharmony_cion(type: "p2pPersistentGroupChange", callback: Callback<void>): void 2773e41f4b71Sopenharmony_ci 2774e41f4b71Sopenharmony_ciSubscribes to P2P persistent group state changes. 2775e41f4b71Sopenharmony_ci 2776e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2777e41f4b71Sopenharmony_ci 2778e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2779e41f4b71Sopenharmony_ci 2780e41f4b71Sopenharmony_ci**Parameters** 2781e41f4b71Sopenharmony_ci 2782e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2783e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2784e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **p2pPersistentGroupChange**.| 2785e41f4b71Sopenharmony_ci| callback | Callback<void> | Yes| Callback used to return the P2P persistent group state change.| 2786e41f4b71Sopenharmony_ci 2787e41f4b71Sopenharmony_ci**Error codes** 2788e41f4b71Sopenharmony_ci 2789e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2790e41f4b71Sopenharmony_ci 2791e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2792e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2793e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2794e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2795e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2796e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2797e41f4b71Sopenharmony_ci 2798e41f4b71Sopenharmony_ci## wifiManager.off('p2pPersistentGroupChange')<sup>9+</sup> 2799e41f4b71Sopenharmony_ci 2800e41f4b71Sopenharmony_cioff(type: "p2pPersistentGroupChange", callback?: Callback<void>): void 2801e41f4b71Sopenharmony_ci 2802e41f4b71Sopenharmony_ciUnsubscribes from P2P persistent group state changes. 2803e41f4b71Sopenharmony_ci 2804e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2805e41f4b71Sopenharmony_ci 2806e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2807e41f4b71Sopenharmony_ci 2808e41f4b71Sopenharmony_ci**Parameters** 2809e41f4b71Sopenharmony_ci 2810e41f4b71Sopenharmony_ci| **Name**| **Type**| **Mandatory**| **Description**| 2811e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 2812e41f4b71Sopenharmony_ci| type | string | Yes| Event type, which has a fixed value of **p2pPersistentGroupChange**.| 2813e41f4b71Sopenharmony_ci| callback | Callback<void> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. | 2814e41f4b71Sopenharmony_ci 2815e41f4b71Sopenharmony_ci**Error codes** 2816e41f4b71Sopenharmony_ci 2817e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2818e41f4b71Sopenharmony_ci 2819e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2820e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2821e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2822e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2823e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2824e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2825e41f4b71Sopenharmony_ci 2826e41f4b71Sopenharmony_ci**Example** 2827e41f4b71Sopenharmony_ci```ts 2828e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2829e41f4b71Sopenharmony_ci 2830e41f4b71Sopenharmony_ci let recvP2pPersistentGroupChangeFunc = (result:void) => { 2831e41f4b71Sopenharmony_ci console.info("Receive p2p persistent group change event: " + result); 2832e41f4b71Sopenharmony_ci } 2833e41f4b71Sopenharmony_ci 2834e41f4b71Sopenharmony_ci // Register an event. 2835e41f4b71Sopenharmony_ci wifiManager.on("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc); 2836e41f4b71Sopenharmony_ci 2837e41f4b71Sopenharmony_ci // Unregister an event. 2838e41f4b71Sopenharmony_ci wifiManager.off("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc); 2839e41f4b71Sopenharmony_ci``` 2840e41f4b71Sopenharmony_ci 2841e41f4b71Sopenharmony_ci## wifiManager.on('p2pDiscoveryChange')<sup>9+</sup> 2842e41f4b71Sopenharmony_ci 2843e41f4b71Sopenharmony_cion(type: "p2pDiscoveryChange", callback: Callback<number>): void 2844e41f4b71Sopenharmony_ci 2845e41f4b71Sopenharmony_ciSubscribes to P2P device discovery state changes. 2846e41f4b71Sopenharmony_ci 2847e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2848e41f4b71Sopenharmony_ci 2849e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2850e41f4b71Sopenharmony_ci 2851e41f4b71Sopenharmony_ci**Parameters** 2852e41f4b71Sopenharmony_ci 2853e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2854e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2855e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **p2pDiscoveryChange**.| 2856e41f4b71Sopenharmony_ci | callback | Callback<number> | Yes| Callback used to return the P2P device discovery state change.| 2857e41f4b71Sopenharmony_ci 2858e41f4b71Sopenharmony_ci**P2P discovered device states** 2859e41f4b71Sopenharmony_ci 2860e41f4b71Sopenharmony_ci| **Value**| **Description**| 2861e41f4b71Sopenharmony_ci| -------- | -------- | 2862e41f4b71Sopenharmony_ci| 0 | Initial state.| 2863e41f4b71Sopenharmony_ci| 1 | Discovered.| 2864e41f4b71Sopenharmony_ci 2865e41f4b71Sopenharmony_ci**Error codes** 2866e41f4b71Sopenharmony_ci 2867e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2868e41f4b71Sopenharmony_ci 2869e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2870e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2871e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2872e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2873e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2874e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2875e41f4b71Sopenharmony_ci 2876e41f4b71Sopenharmony_ci## wifiManager.off('p2pDiscoveryChange')<sup>9+</sup> 2877e41f4b71Sopenharmony_ci 2878e41f4b71Sopenharmony_cioff(type: "p2pDiscoveryChange", callback?: Callback<number>): void 2879e41f4b71Sopenharmony_ci 2880e41f4b71Sopenharmony_ciUnsubscribes from P2P device discovery state changes. 2881e41f4b71Sopenharmony_ci 2882e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.GET_WIFI_INFO 2883e41f4b71Sopenharmony_ci 2884e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Communication.WiFi.P2P 2885e41f4b71Sopenharmony_ci 2886e41f4b71Sopenharmony_ci**Parameters** 2887e41f4b71Sopenharmony_ci 2888e41f4b71Sopenharmony_ci | **Name**| **Type**| **Mandatory**| **Description**| 2889e41f4b71Sopenharmony_ci | -------- | -------- | -------- | -------- | 2890e41f4b71Sopenharmony_ci | type | string | Yes| Event type, which has a fixed value of **p2pDiscoveryChange**.| 2891e41f4b71Sopenharmony_ci | callback | Callback<number> | No| Callback to unregister. If this parameter is not specified, this API unregisters all callbacks for the specified event. | 2892e41f4b71Sopenharmony_ci 2893e41f4b71Sopenharmony_ci**Error codes** 2894e41f4b71Sopenharmony_ci 2895e41f4b71Sopenharmony_ciFor details about the error codes, see [Wi-Fi Error Codes](errorcode-wifi.md). 2896e41f4b71Sopenharmony_ci 2897e41f4b71Sopenharmony_ci| **ID**| **Error Message**| 2898e41f4b71Sopenharmony_ci| -------- | ---------------------------- | 2899e41f4b71Sopenharmony_ci| 201 | Permission denied. | 2900e41f4b71Sopenharmony_ci| 401 | Invalid parameters. Possible causes: 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. | 2901e41f4b71Sopenharmony_ci| 801 | Capability not supported. | 2902e41f4b71Sopenharmony_ci| 2801000 | Operation failed. | 2903e41f4b71Sopenharmony_ci 2904e41f4b71Sopenharmony_ci**Example** 2905e41f4b71Sopenharmony_ci```ts 2906e41f4b71Sopenharmony_ci import { wifiManager } from '@kit.ConnectivityKit'; 2907e41f4b71Sopenharmony_ci 2908e41f4b71Sopenharmony_ci let recvP2pDiscoveryChangeFunc = (result:number) => { 2909e41f4b71Sopenharmony_ci console.info("Receive p2p discovery change event: " + result); 2910e41f4b71Sopenharmony_ci } 2911e41f4b71Sopenharmony_ci 2912e41f4b71Sopenharmony_ci // Register an event. 2913e41f4b71Sopenharmony_ci wifiManager.on("p2pDiscoveryChange", recvP2pDiscoveryChangeFunc); 2914e41f4b71Sopenharmony_ci 2915e41f4b71Sopenharmony_ci // Unregister an event. 2916e41f4b71Sopenharmony_ci wifiManager.off("p2pDiscoveryChange", recvP2pDiscoveryChangeFunc); 2917e41f4b71Sopenharmony_ci``` 2918