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&lt;Array&lt;WifiScanInfo&gt;&gt;
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&lt;&nbsp;Array&lt;[WifiScanInfo](#wifiscaninfo9)&gt;&nbsp;&gt; | 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&lt;Array&lt;WifiScanInfo&gt;&gt;): 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&lt;&nbsp;Array&lt;[WifiScanInfo](#wifiscaninfo9)&gt;&gt; | 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(): &nbsp;Array&lt;[WifiScanInfo](#wifiscaninfo9)&gt;
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| &nbsp;Array&lt;[WifiScanInfo](#wifiscaninfo9)&gt; | 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&lt;WifiScanInfo&gt;
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&lt;[WifiScanInfo](#wifiscaninfo9)&gt; | 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&lt;[WifiInfoElem](#wifiinfoelem9)&gt; | 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&lt;number&gt;
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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;void&gt;
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&lt;void&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 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(): &nbsp;Array&lt;WifiDeviceConfig&gt;
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  | &nbsp;Array&lt;[WifiDeviceConfig](#wifideviceconfig9)&gt; | 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&lt;WifiLinkedInfo&gt;
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&lt;[WifiLinkedInfo](#wifilinkedinfo9)&gt; | 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&lt;WifiLinkedInfo&gt;): 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&lt;[WifiLinkedInfo](#wifilinkedinfo9)&gt; | 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&lt;WifiP2pLinkedInfo&gt;
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&lt;[WifiP2pLinkedInfo](#wifip2plinkedinfo9)&gt; | 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&lt;WifiP2pLinkedInfo&gt;): 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&lt;[WifiP2pLinkedInfo](#wifip2plinkedinfo9)&gt; | 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&lt;WifiP2pGroupInfo&gt;
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&lt;[WifiP2pGroupInfo](#wifip2pgroupinfo9)&gt; | 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&lt;WifiP2pGroupInfo&gt;): 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&lt;[WifiP2pGroupInfo](#wifip2pgroupinfo9)&gt; | 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&lt;WifiP2pDevice[]&gt;
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&lt;[WifiP2pDevice[]](#wifip2pdevice9)&gt; | 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&lt;WifiP2pDevice[]&gt;): 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&lt;[WifiP2pDevice[]](#wifip2pdevice9)&gt; | 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&lt;WifiP2pDevice&gt;
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&lt;[WifiP2pDevice](#wifip2pdevice9)&gt; | 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&lt;WifiP2pDevice&gt;): 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&lt;[WifiP2pDevice](#wifip2pdevice9)&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;WifiP2pLinkedInfo&gt;): 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&lt;[WifiP2pLinkedInfo](#wifip2plinkedinfo9)&gt; | 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&lt;WifiP2pLinkedInfo&gt;): 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&lt;[WifiP2pLinkedInfo](#wifip2plinkedinfo9)&gt; | 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&lt;WifiP2pDevice&gt;): 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&lt;[WifiP2pDevice](#wifip2pdevice9)&gt; | 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&lt;WifiP2pDevice&gt;): 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&lt;[WifiP2pDevice](#wifip2pdevice9)&gt; | 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&lt;WifiP2pDevice[]&gt;): 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&lt;[WifiP2pDevice[]](#wifip2pdevice9)&gt; | 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&lt;WifiP2pDevice[]&gt;): 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&lt;[WifiP2pDevice[]](#wifip2pdevice9)&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 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&lt;void&gt;): 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&lt;void&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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&lt;number&gt;): 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&lt;number&gt; | 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