• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.wifiManager (WLAN)
2该模块主要提供WLAN基础功能、P2P(peer-to-peer)功能和WLAN消息通知的相应服务,让应用可以通过WLAN和其他设备互联互通。
3
4> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
5> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
6
7
8## 导入模块
9
10```js
11import wifiManager from '@ohos.wifiManager';
12```
13
14## wifi.enableWifi<sup>9+</sup>
15
16enableWifi(): void
17
18使能WLAN。
19
20**系统接口:** 此接口为系统接口。
21
22**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
23
24**系统能力:** SystemCapability.Communication.WiFi.STA
25
26**返回值:**
27
28  | **类型** | **说明** |
29  | -------- | -------- |
30  | boolean | true:操作成功,&nbsp;false:操作失败。|
31
32
33## wifi.disableWifi<sup>9+</sup>
34
35disableWifi(): void
36
37去使能WLAN。
38
39**系统接口:** 此接口为系统接口。
40
41**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
42
43**系统能力:** SystemCapability.Communication.WiFi.STA
44
45**返回值:**
46
47  | **类型** | **说明** |
48  | -------- | -------- |
49  | boolean | true:操作成功,&nbsp;false:操作失败。|
50
51
52## wifi.isWifiActive<sup>9+</sup>
53
54isWifiActive(): boolean
55
56查询WLAN是否已使能。
57
58**需要权限:** ohos.permission.GET_WIFI_INFO
59
60**系统能力:** SystemCapability.Communication.WiFi.STA
61
62**返回值:**
63
64  | **类型** | **说明** |
65  | -------- | -------- |
66  | boolean | true:已使能,&nbsp;false:未使能。 |
67
68
69## wifi.scan<sup>9+</sup>
70
71scan(): void
72
73启动WLAN扫描。
74
75**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.LOCATION
76
77**系统能力:** SystemCapability.Communication.WiFi.STA
78
79**返回值:**
80
81  | **类型** | **说明** |
82  | -------- | -------- |
83  | boolean | true:扫描操作执行成功,&nbsp;false:扫描操作执行失败。 |
84
85
86## wifi.getScanResults<sup>9+</sup>
87
88getScanResults(): Promise&lt;Array&lt;WifiScanInfo&gt;&gt;
89
90获取扫描结果,使用Promise异步回调。
91
92**需要权限:** ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MACohos.permission.LOCATION)
93
94**系统能力:** SystemCapability.Communication.WiFi.STA
95
96**返回值:**
97
98  | **类型** | **说明** |
99  | -------- | -------- |
100  | Promise&lt;&nbsp;Array&lt;[WifiScanInfo](#wifiscaninfo)&gt;&nbsp;&gt; | Promise对象。返回扫描到的热点列表。 |
101
102
103## wifi.getScanResults<sup>9+</sup>
104
105getScanResults(callback: AsyncCallback&lt;Array&lt;WifiScanInfo&gt;&gt;): void
106
107获取扫描结果,使用callback异步回调。
108
109**需要权限:** ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MACohos.permission.LOCATION)
110
111**系统能力:** SystemCapability.Communication.WiFi.STA
112
113**参数:**
114
115  | **参数名** | **类型** | **必填** | **说明** |
116  | -------- | -------- | -------- | -------- |
117  | callback | AsyncCallback&lt;&nbsp;Array&lt;[WifiScanInfo](#wifiscaninfo)&gt;&gt; | 是 | 回调函数。当成功时,err为0,data为扫描到的热点;否则err为非0值,data为空。 |
118
119**示例:**
120  ```js
121  import wifi from '@ohos.wifi';
122
123  wifi.getScanInfos((err, result) => {
124      if (err) {
125          console.error("get scan info error");
126          return;
127      }
128
129      var len = Object.keys(result).length;
130      console.log("wifi received scan info: " + len);
131      for (var i = 0; i < len; ++i) {
132          console.info("ssid: " + result[i].ssid);
133          console.info("bssid: " + result[i].bssid);
134          console.info("capabilities: " + result[i].capabilities);
135          console.info("securityType: " + result[i].securityType);
136          console.info("rssi: " + result[i].rssi);
137          console.info("band: " + result[i].band);
138          console.info("frequency: " + result[i].frequency);
139          console.info("channelWidth: " + result[i].channelWidth);
140          console.info("timestamp: " + result[i].timestamp);
141      }
142  });
143
144  wifi.getScanInfos().then(result => {
145      var len = Object.keys(result).length;
146      console.log("wifi received scan info: " + len);
147      for (var i = 0; i < len; ++i) {
148          console.info("ssid: " + result[i].ssid);
149          console.info("bssid: " + result[i].bssid);
150          console.info("capabilities: " + result[i].capabilities);
151          console.info("securityType: " + result[i].securityType);
152          console.info("rssi: " + result[i].rssi);
153          console.info("band: " + result[i].band);
154          console.info("frequency: " + result[i].frequency);
155          console.info("channelWidth: " + result[i].channelWidth);
156          console.info("timestamp: " + result[i].timestamp);
157      }
158  });
159  ```
160
161
162## WifiScanInfo<sup>9+</sup>
163
164WLAN热点信息。
165
166**系统能力:** SystemCapability.Communication.WiFi.STA
167
168
169| **名称** | **类型** | **可读** | **可写** | **说明** |
170| -------- | -------- | -------- | -------- | -------- |
171| ssid | string | 是 | 否 | 热点的SSID,编码格式为UTF-8。 |
172| bssid | string | 是 | 否 | 热点的BSSID。 |
173| capabilities | string | 是 | 否 | 热点能力。 |
174| securityType | [WifiSecurityType](#wifisecuritytype) | 是 | 否 | WLAN加密类型。 |
175| rssi | number | 是 | 否 | 热点的信号强度(dBm)。 |
176| band | number | 是 | 否 | WLAN接入点的频段。 |
177| frequency | number | 是 | 否 | WLAN接入点的频率。 |
178| channelWidth | number | 是 | 否 | WLAN接入点的带宽。 |
179| centerFrequency0 | number | 是 | 否 | 热点的中心频率。 |
180| centerFrequency1 | number | 是 | 否 | 热点的中心频率。如果热点使用两个不重叠的WLAN信道,则返回两个中心频率,分别用centerFrequency0和centerFrequency1表示。 |
181| infoElems | Array&lt;[WifiInfoElem](#wifiinfoelem9)&gt; | 是 | 否 | 信息元素。 |
182| timestamp | number | 是 | 否 | 时间戳。 |
183
184
185## WifiSecurityType<sup>9+</sup>
186
187表示加密类型的枚举。
188
189**系统能力:** SystemCapability.Communication.WiFi.Core
190
191
192| **名称** | **值** | **说明** |
193| -------- | -------- | -------- |
194| WIFI_SEC_TYPE_INVALID | 0 | 无效加密类型。 |
195| WIFI_SEC_TYPE_OPEN | 1 | 开放加密类型。 |
196| WIFI_SEC_TYPE_WEP | 2 | Wired&nbsp;Equivalent&nbsp;Privacy&nbsp;(WEP)加密类型。 |
197| WIFI_SEC_TYPE_PSK | 3 | Pre-shared&nbsp;key&nbsp;(PSK)加密类型。 |
198| WIFI_SEC_TYPE_SAE | 4 | Simultaneous&nbsp;Authentication&nbsp;of&nbsp;Equals&nbsp;(SAE)加密类型。 |
199| WIFI_SEC_TYPE_EAP<sup>9+</sup> | 5 | EAP加密类型。 |
200| WIFI_SEC_TYPE_EAP_SUITE_B<sup>9+</sup> | 6 | Suite-B 192位加密类型。 |
201| WIFI_SEC_TYPE_OWE<sup>9+</sup> | 7 | 机会性无线加密类型。 |
202| WIFI_SEC_TYPE_WAPI_CERT<sup>9+</sup> | 8 | WAPI-Cert加密类型。 |
203| WIFI_SEC_TYPE_WAPI_PSK<sup>9+</sup> | 9 | WAPI-PSK加密类型。 |
204
205
206## WifiInfoElem<sup>9+</sup>
207
208WLAN热点信息。
209
210**系统能力:** SystemCapability.Communication.WiFi.STA
211
212
213| **名称** | **类型** | **可读** | **可写** | **说明** |
214| -------- | -------- | -------- | -------- | -------- |
215| eid | number | 是 | 否 | 元素ID。 |
216| content | Uint8Array | 是 | 否 | 元素内容。 |
217
218
219## WifiChannelWidth<sup>9+</sup>
220
221表示带宽类型的枚举。
222
223**系统能力:** SystemCapability.Communication.WiFi.STA
224
225
226| **名称** | **值** | **说明** |
227| -------- | -------- | -------- |
228| WIDTH_20MHZ | 0 | 20MHZ。 |
229| WIDTH_40MHZ | 1 | 40MHZ。 |
230| WIDTH_80MHZ | 2 | 80MHZ。 |
231| WIDTH_160MHZ | 3 | 160MHZ。 |
232| WIDTH_80MHZ_PLUS | 4 | 80MHZ<sup>+</sup>。 |
233| WIDTH_INVALID | 5 | 无效值 |
234
235
236## wifi.getScanResultsSync<sup>9+</sup>
237
238getScanResultsSync(): &nbsp;Array&lt;[WifiScanInfo](#wifiscaninfo)&gt;
239
240获取扫描结果,使用同步方式返回结果。
241
242**需要权限:** ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MACohos.permission.LOCATION)
243
244**系统能力:** SystemCapability.Communication.WiFi.STA
245
246**返回值:**
247
248  | **类型** | **说明** |
249  | -------- | -------- |
250  | &nbsp;Array&lt;[WifiScanInfo](#wifiscaninfo)&gt; | 扫描结果数组。 |
251
252
253## wifi.addDeviceConfig<sup>9+</sup>
254
255addDeviceConfig(config: WifiDeviceConfig): Promise&lt;number&gt;
256
257添加网络配置,使用Promise异步回调。
258
259**系统接口:** 此接口为系统接口。
260
261**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.SET_WIFI_CONFIG
262
263**系统能力:** SystemCapability.Communication.WiFi.STA
264
265**参数:**
266
267  | **参数名** | **类型** | **必填** | **说明** |
268  | -------- | -------- | -------- | -------- |
269  | config | [WifiDeviceConfig](#wifideviceconfig) | 是 | WLAN配置信息。 |
270
271**返回值:**
272
273  | **类型** | **说明** |
274  | -------- | -------- |
275  | Promise&lt;number&gt; | Promise对象。返回添加的网络配置ID,如果值为-1表示添加失败。 |
276
277## WifiDeviceConfig<sup>9+</sup>
278
279WLAN配置信息。
280
281**系统能力:** SystemCapability.Communication.WiFi.STA
282
283
284| **名称** | **类型** | **可读** | **可写** | **说明** |
285| -------- | -------- | -------- | -------- | -------- |
286| ssid | string | 是 | 否 | 热点的SSID,编码格式为UTF-8。 |
287| bssid | string | 是 | 否 | 热点的BSSID。 |
288| preSharedKey | string | 是 | 否 | 热点的密钥。 |
289| isHiddenSsid | boolean | 是 | 否 | 是否是隐藏网络。 |
290| securityType | [WifiSecurityType](#wifisecuritytype) | 是 | 否 | 加密类型。 |
291| creatorUid | number | 是 | 否 | 创建用户的ID。 <br /> **系统接口:** 此接口为系统接口。 |
292| disableReason | number | 是 | 否 | 禁用原因。 <br /> **系统接口:** 此接口为系统接口。 |
293| netId | number | 是 | 否 | 分配的网络ID。 <br /> **系统接口:** 此接口为系统接口。 |
294| randomMacType | number | 是 | 否 | 随机MAC类型。 <br /> **系统接口:** 此接口为系统接口。 |
295| randomMacAddr | string | 是 | 否 | 随机MAC地址。 <br /> **系统接口:** 此接口为系统接口。 |
296| ipType | [IpType](#iptype9) | 是 | 否 | IP地址类型。 <br /> **系统接口:** 此接口为系统接口。 |
297| staticIp | [IpConfig](#ipconfig9) | 是 | 否 | 静态IP配置信息。 <br /> **系统接口:** 此接口为系统接口。 |
298| eapConfig<sup>9+</sup> | [WifiEapConfig](#wifieapconfig9) | 是 | 否 | 可扩展身份验证协议配置。 <br /> **系统接口:** 此接口为系统接口。 |
299
300
301## IpType<sup>9+</sup>
302
303表示IP类型的枚举。
304
305**系统接口:** 此接口为系统接口。
306
307**系统能力:** SystemCapability.Communication.WiFi.STA
308
309
310| 名称 | 值 | 说明 |
311| -------- | -------- | -------- |
312| STATIC | 0 | 静态IP。 |
313| DHCP | 1 | 通过DHCP获取。 |
314| UNKNOWN | 2 | 未指定。 |
315
316
317## IpConfig<sup>9+</sup>
318
319IP配置信息。
320
321**系统接口:** 此接口为系统接口。
322
323**系统能力:** SystemCapability.Communication.WiFi.STA
324
325| **名称** | **类型** | **可读** | **可写** | **说明** |
326| -------- | -------- | -------- | -------- | -------- |
327| ipAddress | number | 是 | 否 | IP地址。 |
328| gateway | number | 是 | 否 | 网关。 |
329| prefixLength | number | 是 | 否 | 掩码。 |
330| dnsServers | number[] | 是 | 否 | DNS服务器。 |
331| domains | Array&lt;string&gt; | 是 | 否 | 域信息。 |
332
333
334## WifiEapConfig<sup>9+</sup>
335
336可扩展身份验证协议配置信息。
337
338**系统接口:** 此接口为系统接口。
339
340**系统能力:** SystemCapability.Communication.WiFi.STA
341
342| **名称** | **类型** | **可读** | **可写** | **说明** |
343| -------- | -------- | -------- | -------- | -------- |
344| eapMethod | [EapMethod](#eapmethod9) | 是 | 否 | EAP认证方式。 |
345| phase2Method | [Phase2Method](#phase2method9) | 是 | 否 | 第二阶段认证方式。 |
346| identity | string | 是 | 否 | 身份信息。 |
347| anonymousIdentity | string | 是 | 否 | 匿名身份。 |
348| password | string | 是 | 否 | 密码。 |
349| caCertAliases | string | 是 | 否 | CA 证书别名。 |
350| caPath | string | 是 | 否 | CA 证书路径。 |
351| clientCertAliases | string | 是 | 否 | 客户端证书别名。 |
352| altSubjectMatch | string | 是 | 否 | 替代主题匹配。 |
353| domainSuffixMatch | string | 是 | 否 | 域后缀匹配。 |
354| realm | string | 是 | 否 | 通行证凭证的领域。 |
355| plmn | string | 是 | 否 | 公共陆地移动网的直通凭证提供商。 |
356| eapSubId | number | 是 | 否 | SIM卡的子ID。 |
357
358
359## EapMethod<sup>9+</sup>
360
361表示EAP认证方式的枚举。
362
363**系统接口:** 此接口为系统接口。
364
365**系统能力:** SystemCapability.Communication.WiFi.STA
366
367| 名称 | 值 | 说明 |
368| -------- | -------- | -------- |
369| EAP_NONE | 0 | 不指定。 |
370| EAP_PEAP | 1 | PEAP类型。 |
371| EAP_TLS | 2 | TLS类型。 |
372| EAP_TTLS | 3 | TTLS类型。 |
373| EAP_PWD | 4 | PWD类型。 |
374| EAP_SIM | 5 | SIM类型。 |
375| EAP_AKA | 6 | AKA类型。 |
376| EAP_AKA_PRIME | 7 | AKA Prime类型。 |
377| EAP_UNAUTH_TLS | 8 | UNAUTH TLS类型。 |
378
379
380## Phase2Method<sup>9+</sup>
381
382表示第二阶段认证方式的枚举。
383
384**系统接口:** 此接口为系统接口。
385
386**系统能力:** SystemCapability.Communication.WiFi.STA
387
388| 名称 | 值 | 说明 |
389| -------- | -------- | -------- |
390| PHASE2_NONE | 0 | 不指定。 |
391| PHASE2_PAP | 1 | PAP类型。 |
392| PHASE2_MSCHAP | 2 | MSCHAP类型。 |
393| PHASE2_MSCHAPV2 | 3 | MSCHAPV2类型。 |
394| PHASE2_GTC | 4 | GTC类型。 |
395| PHASE2_SIM | 5 | SIM类型。 |
396| PHASE2_AKA | 6 | AKA类型。 |
397| PHASE2_AKA_PRIME | 7 | AKA Prime类型。 |
398
399
400## wifi.addDeviceConfig<sup>9+</sup>
401
402addDeviceConfig(config: WifiDeviceConfig, callback: AsyncCallback&lt;number&gt;): void
403
404添加网络配置,使用callback异步回调。
405
406**系统接口:** 此接口为系统接口。
407
408**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.SET_WIFI_CONFIG
409
410**系统能力:** SystemCapability.Communication.WiFi.STA
411
412**参数:**
413
414  | **参数名** | **类型** | **必填** | **说明** |
415  | -------- | -------- | -------- | -------- |
416  | config | [WifiDeviceConfig](#wifideviceconfig) | 是 | WLAN配置信息。 |
417  | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数。当操作成功时,err为0,data为添加的网络配置ID,如果data值为-1,表示添加失败。当error为非0,表示处理出现错误。 |
418
419
420## wifi.addCandidateConfig<sup>9+</sup>
421
422addCandidateConfig(config: WifiDeviceConfig): Promise&lt;number&gt;
423
424添加候选网络配置,使用Promise异步回调。
425
426**需要权限:** ohos.permission.SET_WIFI_INFO
427
428**系统能力:** SystemCapability.Communication.WiFi.STA
429
430**参数:**
431
432  | **参数名** | **类型** | **必填** | **说明** |
433  | -------- | -------- | -------- | -------- |
434  | config | [WifiDeviceConfig](#wifideviceconfig) | 是 | WLAN配置信息。 |
435
436**返回值:**
437
438  | **类型** | **说明** |
439  | -------- | -------- |
440  | Promise&lt;number&gt; | Promise对象。表示网络配置ID。 |
441
442
443## wifi.addCandidateConfig<sup>9+</sup>
444
445addCandidateConfig(config: WifiDeviceConfig, callback: AsyncCallback&lt;number&gt;): void
446
447添加候选网络配置,使用callback异步回调。
448
449**需要权限:** ohos.permission.SET_WIFI_INFO
450
451**系统能力:** SystemCapability.Communication.WiFi.STA
452
453**参数:**
454
455  | **参数名** | **类型** | **必填** | **说明** |
456  | -------- | -------- | -------- | -------- |
457  | config | [WifiDeviceConfig](#wifideviceconfig) | 是 | WLAN配置信息。 |
458  | callback | AsyncCallback&lt;number&gt; | 是 | 回调函数。当操作成功时,err为0,data为添加的网络配置ID,如果data值为-1,表示添加失败。如果操作出现错误,err为非0值。 |
459
460
461## wifi.removeCandidateConfig<sup>9+</sup>
462
463removeCandidateConfig(networkId: number): Promise&lt;void&gt;
464
465移除候选网络配置,使用Promise异步回调。
466
467**需要权限:** ohos.permission.SET_WIFI_INFO
468
469**系统能力:** SystemCapability.Communication.WiFi.STA
470
471**参数:**
472
473  | **参数名** | **类型** | **必填** | **说明** |
474  | -------- | -------- | -------- | -------- |
475  | networkId | number | 是 | 网络配置ID。 |
476
477**返回值:**
478
479  | **类型** | **说明** |
480  | -------- | -------- |
481  | Promise&lt;void&gt; | Promise对象。 |
482
483
484## wifi.removeCandidateConfig<sup>9+</sup>
485
486removeCandidateConfig(networkId: number, callback: AsyncCallback&lt;void&gt;): void
487
488移除候选网络配置,使用callback异步回调。
489
490**需要权限:** ohos.permission.SET_WIFI_INFO
491
492**系统能力:** SystemCapability.Communication.WiFi.STA
493
494**参数:**
495
496  | **参数名** | **类型** | **必填** | **说明** |
497  | -------- | -------- | -------- | -------- |
498  | networkId | number | 是 | 网络配置ID。 |
499  | callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当操作成功时,err为0。如果error为非0,表示处理出现错误。 |
500
501
502## wifi.getCandidateConfigs<sup>9+</sup>
503
504getCandidateConfigs(): &nbsp;Array&lt;[WifiDeviceConfig](#wifideviceconfig)&gt;
505
506获取候选网络配置。
507
508**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
509
510**系统能力:** SystemCapability.Communication.WiFi.STA
511
512**返回值:**
513
514  | **类型** | **说明** |
515  | -------- | -------- |
516  | &nbsp;Array&lt;[WifiDeviceConfig](#wifideviceconfig)&gt; | 候选网络配置数组。 |
517
518
519## wifi.connectToCandidateConfig<sup>9+</sup>
520
521connectToCandidateConfig(networkId: number): void
522
523连接到候选网络。
524
525**需要权限:** ohos.permission.SET_WIFI_INFO
526
527**系统能力:** SystemCapability.Communication.WiFi.STA
528
529**参数:**
530
531  | **参数名** | **类型** | **必填** | **说明** |
532  | -------- | -------- | -------- | -------- |
533  | networkId | number | 是 | 候选网络配置的ID。 |
534
535
536## wifi.connectToNetwork<sup>9+</sup>
537
538connectToNetwork(networkId: number): void
539
540连接到指定网络。
541
542**系统接口:** 此接口为系统接口。
543
544**需要权限:** ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
545
546**系统能力:** SystemCapability.Communication.WiFi.STA
547
548**参数:**
549
550  | **参数名** | **类型** | **必填** | **说明** |
551  | -------- | -------- | -------- | -------- |
552  | networkId | number | 是 | 待连接的网络配置ID。 |
553
554**返回值:**
555
556  | **类型** | **说明** |
557  | -------- | -------- |
558  | boolean | true:操作成功,&nbsp;false:操作失败。 |
559
560
561## wifi.connectToDevice<sup>9+</sup>
562
563connectToDevice(config: WifiDeviceConfig): void
564
565连接到指定网络。
566
567**系统接口:** 此接口为系统接口。
568
569**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.SET_WIFI_CONFIGohos.permissio.MANAGE_WIFI_CONNECTION,仅系统应用可用。
570
571**系统能力:**
572  SystemCapability.Communication.WiFi.STA
573
574**参数:**
575
576  | **参数名** | **类型** | **必填** | **说明** |
577  | -------- | -------- | -------- | -------- |
578  | config | [WifiDeviceConfig](#wifideviceconfig) | 是 | WLAN配置信息。 |
579
580**返回值:**
581
582  | **类型** | **说明** |
583  | -------- | -------- |
584  | boolean | true:操作成功,&nbsp;false:操作失败。 |
585
586
587## wifi.disconnect<sup>9+</sup>
588
589disconnect(): void
590
591断开连接的网络。
592
593**系统接口:** 此接口为系统接口。
594
595**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
596
597**系统能力:**
598  SystemCapability.Communication.WiFi.STA
599
600**返回值:**
601
602  | **类型** | **说明** |
603  | -------- | -------- |
604  | boolean | true:操作成功,&nbsp;false:操作失败。 |
605
606
607## wifi.getSignalLevel<sup>9+</sup>
608
609getSignalLevel(rssi: number, band: number): number
610
611查询WLAN信号强度。
612
613**需要权限:** ohos.permission.GET_WIFI_INFO
614
615**系统能力:** SystemCapability.Communication.WiFi.STA
616
617**参数:**
618
619  | **参数名** | **类型** | **必填** | **说明** |
620  | -------- | -------- | -------- | -------- |
621  | rssi | number | 是 | 热点的信号强度(dBm)。 |
622  | band | number | 是 | WLAN接入点的频段。 |
623
624**返回值:**
625
626  | **类型** | **说明** |
627  | -------- | -------- |
628  | number | 信号强度,取值范围为[0,&nbsp;4]。 |
629
630
631## wifi.getLinkedInfo<sup>9+</sup>
632
633getLinkedInfo(): Promise&lt;WifiLinkedInfo&gt;
634
635获取WLAN连接信息,使用Promise异步回调。
636
637**需要权限:** ohos.permission.GET_WIFI_INFO
638
639**系统能力:** SystemCapability.Communication.WiFi.STA
640
641**返回值:**
642
643  | 类型 | 说明 |
644  | -------- | -------- |
645  | Promise&lt;[WifiLinkedInfo](#wifilinkedinfo)&gt; | Promise对象。表示WLAN连接信息。 |
646
647
648## wifi.getLinkedInfo<sup>9+</sup>
649
650getLinkedInfo(callback: AsyncCallback&lt;WifiLinkedInfo&gt;): void
651
652获取WLAN连接信息,使用callback异步回调。
653
654**需要权限:** ohos.permission.GET_WIFI_INFO
655
656**系统能力:** SystemCapability.Communication.WiFi.STA
657
658**参数:**
659
660  | 参数名 | 类型 | 必填 | 说明 |
661  | -------- | -------- | -------- | -------- |
662  | callback | AsyncCallback&lt;[WifiLinkedInfo](#wifilinkedinfo)&gt; | 是 | 回调函数。当获取成功时,err为0,data表示WLAN连接信息。如果error为非0,表示处理出现错误。 |
663
664**示例:**
665  ```js
666  import wifi from '@ohos.wifi';
667
668  wifi.getLinkedInfo((err, data) => {
669      if (err) {
670          console.error("get linked info error");
671          return;
672      }
673      console.info("get wifi linked info: " + JSON.stringify(data));
674  });
675
676  wifi.getLinkedInfo().then(data => {
677      console.info("get wifi linked info: " + JSON.stringify(data));
678  }).catch(error => {
679      console.info("get linked info error");
680  });
681  ```
682
683
684## WifiLinkedInfo<sup>9+</sup>
685
686提供WLAN连接的相关信息。
687
688**系统能力:** SystemCapability.Communication.WiFi.STA
689
690| 名称 | 类型 | 可读 | 可写 | 说明 |
691| -------- | -------- | -------- | -------- | -------- |
692| ssid | string | 是 | 否 | 热点的SSID,编码格式为UTF-8。 |
693| bssid | string | 是 | 否 | 热点的BSSID。 |
694| networkId | number | 是 | 否 | 网络配置ID。 <br /> **系统接口:** 此接口为系统接口。 |
695| rssi | number | 是 | 否 | 热点的信号强度(dBm)。 |
696| band | number | 是 | 否 | WLAN接入点的频段。 |
697| linkSpeed | number | 是 | 否 | WLAN接入点的速度。 |
698| frequency | number | 是 | 否 | WLAN接入点的频率。 |
699| isHidden | boolean | 是 | 否 | WLAN接入点是否是隐藏网络。 |
700| isRestricted | boolean | 是 | 否 | WLAN接入点是否限制数据量。 |
701| chload | number | 是 | 否 | 连接负载,值越大表示负载约高。 <br /> **系统接口:** 此接口为系统接口。 |
702| snr | number | 是 | 否 | 信噪比。 <br /> **系统接口:** 此接口为系统接口。 |
703| macType<sup>9+</sup> | number | 是 | 否 | MAC地址类型。 |
704| macAddress | string | 是 | 否 | 设备的MAC地址。 |
705| ipAddress | number | 是 | 否 | WLAN连接的IP地址。 |
706| suppState | [SuppState](#suppstate) | 是 | 否 | 请求状态。 <br /> **系统接口:** 此接口为系统接口。 |
707| connState | [ConnState](#connstate) | 是 | 否 | WLAN连接状态。 |
708
709
710## ConnState<sup>9+</sup>
711
712表示WLAN连接状态的枚举。
713
714**系统能力:** SystemCapability.Communication.WiFi.STA
715
716| 名称 | 值 | 说明 |
717| -------- | -------- | -------- |
718| SCANNING | 0 | 设备正在搜索可用的AP。 |
719| CONNECTING | 1 | 正在建立WLAN连接。 |
720| AUTHENTICATING | 2 | WLAN连接正在认证中。 |
721| OBTAINING_IPADDR | 3 | 正在获取WLAN连接的IP地址。 |
722| CONNECTED | 4 | WLAN连接已建立。 |
723| DISCONNECTING | 5 | WLAN连接正在断开。 |
724| DISCONNECTED | 6 | WLAN连接已断开。 |
725| UNKNOWN | 7 | WLAN连接建立失败。 |
726
727
728## SuppState<sup>9+</sup>
729
730表示请求状态的枚举。
731
732**系统接口:** 此接口为系统接口。
733
734**系统能力:** SystemCapability.Communication.WiFi.STA
735
736| 名称 | 值 | 说明 |
737| -------- | -------- | -------- |
738| DISCONNECTED | 0 | 已断开。 |
739| INTERFACE_DISABLED | 1 | 接口禁用。 |
740| INACTIVE | 2 | 未激活。 |
741| SCANNING | 3 | 扫描中。 |
742| AUTHENTICATING | 4 | 认证中。 |
743| ASSOCIATING | 5 | 关联中。 |
744| ASSOCIATED | 6 | 已关联。 |
745| FOUR_WAY_HANDSHAKE | 7 | 四次握手。 |
746| GROUP_HANDSHAKE | 8 | 组握手。 |
747| COMPLETED | 9 | 所有认证已完成。 |
748| UNINITIALIZED | 10 | 连接建立失败。 |
749| INVALID | 11 | 无效值。 |
750
751
752## wifi.isConnected<sup>9+</sup>
753
754isConnected(): boolean
755
756查询WLAN是否已连接。
757
758**需要权限:** ohos.permission.GET_WIFI_INFO
759
760**系统能力:** SystemCapability.Communication.WiFi.STA
761
762**返回值:**
763
764  | **类型** | **说明** |
765  | -------- | -------- |
766  | boolean | true:已连接,&nbsp;false:未连接。 |
767
768
769## wifi.getSupportedFeatures<sup>9+</sup>
770
771getSupportedFeatures(): number
772
773查询设备支持的特性。
774
775**系统接口:** 此接口为系统接口。
776
777**需要权限:** ohos.permission.GET_WIFI_INFO
778
779**系统能力:** SystemCapability.Communication.WiFi.Core
780
781**返回值:**
782
783  | **类型** | **说明** |
784  | -------- | -------- |
785  | number | 支持的特性值。 |
786
787**特性ID值枚举:**
788
789| 枚举值 | 说明 |
790| -------- | -------- |
791| 0x0001 | 基础结构模式特性。 |
792| 0x0002 | 5&nbsp;GHz带宽特性。 |
793| 0x0004 | GAS/ANQP特性。 |
794| 0x0008 | Wifi-Direct特性。 |
795| 0x0010 | Soft&nbsp;AP特性。 |
796| 0x0040 | Wi-Fi&nbsp;AWare组网特性。 |
797| 0x8000 | AP&nbsp;STA共存特性。 |
798| 0x8000000 | WPA3-Personal&nbsp;SAE特性。 |
799| 0x10000000 | WPA3-Enterprise&nbsp;Suite-B |
800| 0x20000000 | 增强开放特性。 |
801
802
803## wifi.isFeatureSupported<sup>9+</sup>
804
805isFeatureSupported(featureId: number): boolean
806
807判断设备是否支持相关WLAN特性。
808
809**需要权限:** ohos.permission.GET_WIFI_INFO
810
811**系统能力:** SystemCapability.Communication.WiFi.Core
812
813**参数:**
814
815
816  | **参数名** | **类型** | 必填 | **说明** |
817  | -------- | -------- | -------- | -------- |
818  | featureId | number | 是 | 特性ID值。 |
819
820**返回值:**
821
822  | **类型** | **说明** |
823  | -------- | -------- |
824  | boolean | true:支持,&nbsp;false:不支持。 |
825
826
827## wifi.getDeviceMacAddress<sup>9+</sup>
828
829getDeviceMacAddress(): string[]
830
831获取设备的MAC地址。
832
833**系统接口:** 此接口为系统接口。
834
835**需要权限:** ohos.permission.GET_WIFI_LOCAL_MACohos.permission.GET_WIFI_INFO,仅系统应用可用。
836
837**系统能力:** SystemCapability.Communication.WiFi.STA
838
839**返回值:**
840
841  | **类型** | **说明** |
842  | -------- | -------- |
843  | string[] | MAC地址。 |
844
845
846## wifi.getIpInfo<sup>9+</sup>
847
848getIpInfo(): IpInfo
849
850获取IP信息。
851
852**需要权限:** ohos.permission.GET_WIFI_INFO
853
854**系统能力:** SystemCapability.Communication.WiFi.STA
855
856**返回值:**
857
858  | **类型** | **说明** |
859  | -------- | -------- |
860  | [IpInfo](#ipinfo9) | IP信息。 |
861
862
863## IpInfo<sup>9+</sup>
864
865IP信息。
866
867**系统能力:** SystemCapability.Communication.WiFi.STA
868
869| **名称** | **类型** | **可读** | **可写** | **说明** |
870| -------- | -------- | -------- | -------- | -------- |
871| ipAddress | number | 是 | 否 | IP地址。 |
872| gateway | number | 是 | 否 | 网关。 |
873| netmask | number | 是 | 否 | 掩码。 |
874| primaryDns | number | 是 | 否 | 主DNS服务器IP地址。 |
875| secondDns | number | 是 | 否 | 备DNS服务器IP地址。 |
876| serverIp | number | 是 | 否 | DHCP服务端IP地址。 |
877| leaseDuration | number | 是 | 否 | IP地址租用时长。 |
878
879
880## wifi.getCountryCode<sup>9+</sup>
881
882getCountryCode(): string
883
884获取国家码信息。
885
886**需要权限:** ohos.permission.GET_WIFI_INFO
887
888**系统能力:** SystemCapability.Communication.WiFi.Core
889
890**返回值:**
891
892  | **类型** | **说明** |
893  | -------- | -------- |
894  | string | 国家码。 |
895
896
897## wifi.reassociate<sup>9+</sup>
898
899reassociate(): void
900
901重新关联网络。
902
903**系统接口:** 此接口为系统接口。
904
905**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
906
907**系统能力:** SystemCapability.Communication.WiFi.STA
908
909**返回值:**
910
911  | **类型** | **说明** |
912  | -------- | -------- |
913  | boolean | true:操作成功,&nbsp;false:操作失败。 |
914
915
916## wifi.reconnect<sup>9+</sup>
917
918reconnect(): void
919
920重新连接网络。
921
922**系统接口:** 此接口为系统接口。
923
924**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
925
926**系统能力:** SystemCapability.Communication.WiFi.STA
927
928**返回值:**
929
930  | **类型** | **说明** |
931  | -------- | -------- |
932  | boolean | true:操作成功,&nbsp;false:操作失败。 |
933
934
935## wifi.getDeviceConfigs<sup>9+</sup>
936
937getDeviceConfigs(): &nbsp;Array&lt;[WifiDeviceConfig](#wifideviceconfig)&gt;
938
939获取网络配置。
940
941**系统接口:** 此接口为系统接口。
942
943**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATIONohos.permission.GET_WIFI_CONFIG
944
945**系统能力:** SystemCapability.Communication.WiFi.STA
946
947**返回值:**
948
949  | **类型** | **说明** |
950  | -------- | -------- |
951  | &nbsp;Array&lt;[WifiDeviceConfig](#wifideviceconfig)&gt; | 网络配置信息的数组。 |
952
953
954## wifi.updateNetwork<sup>9+</sup>
955
956updateNetwork(config: WifiDeviceConfig): number
957
958更新网络配置。
959
960**系统接口:** 此接口为系统接口。
961
962**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.SET_WIFI_CONFIG
963
964**系统能力:** SystemCapability.Communication.WiFi.STA
965
966**参数:**
967
968  | **参数名** | **类型** | **必填** | **说明** |
969  | -------- | -------- | -------- | -------- |
970  | config | [WifiDeviceConfig](#wifideviceconfig) | 是 | WLAN配置信息。 |
971
972**返回值:**
973
974  | **类型** | **说明** |
975  | -------- | -------- |
976  | number | 返回更新的网络配置ID,如果值为-1表示更新失败。 |
977
978
979## wifi.disableNetwork<sup>9+</sup>
980
981disableNetwork(netId: number): void
982
983去使能网络配置。
984
985**系统接口:** 此接口为系统接口。
986
987**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
988
989**系统能力:** SystemCapability.Communication.WiFi.STA
990
991**参数:**
992
993  | **参数名** | **类型** | **必填** | **说明** |
994  | -------- | -------- | -------- | -------- |
995  | netId | number | 是 | 网络配置ID。 |
996
997**返回值:**
998
999  | **类型** | **说明** |
1000  | -------- | -------- |
1001  | boolean | true:操作成功,&nbsp;false:操作失败。 |
1002
1003
1004## wifi.removeAllNetwork<sup>9+</sup>
1005
1006removeAllNetwork(): void
1007
1008移除所有网络配置。
1009
1010**系统接口:** 此接口为系统接口。
1011
1012**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
1013
1014**系统能力:** SystemCapability.Communication.WiFi.STA
1015
1016**返回值:**
1017
1018  | **类型** | **说明** |
1019  | -------- | -------- |
1020  | boolean | true:操作成功,&nbsp;false:操作失败。 |
1021
1022
1023## wifi.removeDevice<sup>9+</sup>
1024
1025removeDevice(id: number): void
1026
1027移除指定的网络配置。
1028
1029**系统接口:** 此接口为系统接口。
1030
1031**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
1032
1033**系统能力:** SystemCapability.Communication.WiFi.STA
1034
1035**参数:**
1036
1037  | **参数名** | **类型** | **必填** | **说明** |
1038  | -------- | -------- | -------- | -------- |
1039  | id | number | 是 | 网络配置ID。 |
1040
1041**返回值:**
1042
1043  | **类型** | **说明** |
1044  | -------- | -------- |
1045  | boolean | true:操作成功,&nbsp;false:操作失败。 |
1046
1047
1048## wifi.enableHotspot<sup>9+</sup>
1049
1050enableHotspot(): void
1051
1052使能热点。
1053
1054**系统接口:** 此接口为系统接口。
1055
1056**需要权限:** ohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。
1057
1058**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1059
1060**返回值:**
1061
1062  | **类型** | **说明** |
1063  | -------- | -------- |
1064  | boolean | true:操作成功,&nbsp;false:操作失败。|
1065
1066
1067## wifi.disableHotspot<sup>9+</sup>
1068
1069disableHotspot(): void
1070
1071去使能热点。
1072
1073**系统接口:** 此接口为系统接口。
1074
1075**需要权限:** ohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。
1076
1077**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1078
1079**返回值:**
1080
1081  | **类型** | **说明** |
1082  | -------- | -------- |
1083  | boolean | true:操作成功,&nbsp;false:操作失败。|
1084
1085
1086## wifi.isHotspotDualBandSupported<sup>9+</sup>
1087
1088isHotspotDualBandSupported(): boolean
1089
1090热点是否支持双频。
1091
1092**系统接口:** 此接口为系统接口。
1093
1094**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。
1095
1096**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1097
1098**返回值:**
1099
1100  | **类型** | **说明** |
1101  | -------- | -------- |
1102  | boolean | true:支持,&nbsp;false:不支持。|
1103
1104
1105## wifi.isHotspotActive<sup>9+</sup>
1106
1107isHotspotActive(): boolean
1108
1109热点是否已使能。
1110
1111**系统接口:** 此接口为系统接口。
1112
1113**需要权限:** ohos.permission.GET_WIFI_INFO
1114
1115**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1116
1117**返回值:**
1118
1119  | **类型** | **说明** |
1120  | -------- | -------- |
1121  | boolean | true:已使能,&nbsp;false:未使能。|
1122
1123
1124## wifi.setHotspotConfig<sup>9+</sup>
1125
1126setHotspotConfig(config: HotspotConfig): void
1127
1128设置热点配置信息。
1129
1130**系统接口:** 此接口为系统接口。
1131
1132**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.GET_WIFI_CONFIG
1133
1134**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1135
1136**参数:**
1137
1138  | **参数名** | **类型** | **必填** | **说明** |
1139  | -------- | -------- | -------- | -------- |
1140  | config | [HotspotConfig](#hotspotconfig9) | 是 | 热点配置信息。 |
1141
1142**返回值:**
1143
1144  | **类型** | **说明** |
1145  | -------- | -------- |
1146  | boolean | true:操作成功,&nbsp;false:操作失败。 |
1147
1148
1149## HotspotConfig<sup>9+</sup>
1150
1151热点配置信息。
1152
1153**系统接口:** 此接口为系统接口。
1154
1155**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1156
1157| **名称** | **类型** | **可读** | **可写** | **说明** |
1158| -------- | -------- | -------- | -------- | -------- |
1159| ssid | string | 是 | 否 | 热点的SSID,编码格式为UTF-8。 |
1160| securityType | [WifiSecurityType](#wifisecuritytype) | 是 | 否 | 加密类型。 |
1161| band | number | 是 | 否 | 热点的带宽。1: 2.4G, 2: 5G, 3: 双模频段 |
1162| preSharedKey | string | 是 | 否 | 热点的密钥。 |
1163| maxConn | number | 是 | 否 | 最大设备连接数。 |
1164
1165
1166## wifi.getHotspotConfig<sup>9+</sup>
1167
1168getHotspotConfig(): HotspotConfig
1169
1170获取热点配置信息。
1171
1172**系统接口:** 此接口为系统接口。
1173
1174**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.GET_WIFI_CONFIG
1175
1176**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1177
1178**返回值:**
1179
1180  | **类型** | **说明** |
1181  | -------- | -------- |
1182  | [HotspotConfig](#hotspotconfig9) | 热点的配置信息。 |
1183
1184
1185## wifi.getStations<sup>9+</sup>
1186
1187getStations(): &nbsp;Array&lt;[StationInfo](#stationinfo9)&gt;
1188
1189获取连接的设备。
1190
1191**系统接口:** 此接口为系统接口。
1192
1193**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATIONohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。
1194
1195**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1196
1197**返回值:**
1198
1199  | **类型** | **说明** |
1200  | -------- | -------- |
1201  | &nbsp;Array&lt;[StationInfo](#stationinfo9)&gt; | 连接的设备数组。 |
1202
1203
1204## StationInfo<sup>9+</sup>
1205
1206接入的设备信息。
1207
1208**系统接口:** 此接口为系统接口。
1209
1210**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1211
1212| **名称** | **类型** | **可读** | **可写** | **说明** |
1213| -------- | -------- | -------- | -------- | -------- |
1214| name | string | 是 | 否 | 设备名称。 |
1215| macAddress | string | 是 | 否 | MAC地址。 |
1216| ipAddress | string | 是 | 否 | IP地址。 |
1217
1218
1219## wifi.getP2pLinkedInfo<sup>9+</sup>
1220
1221getP2pLinkedInfo(): Promise&lt;WifiP2pLinkedInfo&gt;
1222
1223获取P2P连接信息,使用Promise异步回调。
1224
1225**需要权限:** ohos.permission.GET_WIFI_INFO
1226
1227**系统能力:** SystemCapability.Communication.WiFi.P2P
1228
1229**返回值:**
1230
1231  | 类型 | 说明 |
1232  | -------- | -------- |
1233  | Promise&lt;[WifiP2pLinkedInfo](#wifip2plinkedinfo9)&gt; | Promise对象。表示P2P连接信息。 |
1234
1235
1236
1237## WifiP2pLinkedInfo<sup>9+</sup>
1238
1239提供WLAN连接的相关信息。
1240
1241**系统能力:** SystemCapability.Communication.WiFi.P2P
1242
1243| 名称 | 类型 | 可读 | 可写 | 说明 |
1244| -------- | -------- | -------- | -------- | -------- |
1245| connectState | [P2pConnectState](#p2pconnectstate9) | 是 | 否 | P2P连接状态。 |
1246| isGroupOwner | boolean | 是 | 否 | 是否是群主。 |
1247| groupOwnerAddr | string | 是 | 否 | 群组MAC地址。
1248
1249
1250## P2pConnectState<sup>9+</sup>
1251
1252表示P2P连接状态的枚举。
1253
1254**系统能力:** SystemCapability.Communication.WiFi.P2P
1255
1256| 名称 | 值 | 说明 |
1257| -------- | -------- | -------- |
1258| DISCONNECTED | 0 | 断开状态。 |
1259| CONNECTED | 1 | 连接状态。 |
1260
1261
1262## wifi.getP2pLinkedInfo<sup>9+</sup>
1263
1264getP2pLinkedInfo(callback: AsyncCallback&lt;WifiP2pLinkedInfo&gt;): void
1265
1266获取P2P连接信息,使用callback异步回调。
1267
1268**需要权限:** ohos.permission.GET_WIFI_INFO
1269
1270**系统能力:** SystemCapability.Communication.WiFi.P2P
1271
1272**参数:**
1273
1274  | 参数名 | 类型 | 必填 | 说明 |
1275  | -------- | -------- | -------- | -------- |
1276  | callback | AsyncCallback&lt;[WifiP2pLinkedInfo](#wifip2plinkedinfo9)&gt; | 是 | 回调函数。当操作成功时,err为0,data表示P2P连接信息。如果error为非0,表示处理出现错误。 |
1277
1278
1279## wifi.getCurrentGroup<sup>9+</sup>
1280
1281getCurrentGroup(): Promise&lt;WifiP2pGroupInfo&gt;
1282
1283获取P2P当前组信息,使用Promise异步回调。
1284
1285**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
1286
1287**系统能力:** SystemCapability.Communication.WiFi.P2P
1288
1289**返回值:**
1290
1291  | 类型 | 说明 |
1292  | -------- | -------- |
1293  | Promise&lt;[WifiP2pGroupInfo](#wifip2pgroupinfo9)&gt; | Promise对象。表示当前组信息。 |
1294
1295
1296## wifi.getCurrentGroup<sup>9+</sup>
1297
1298getCurrentGroup(callback: AsyncCallback&lt;WifiP2pGroupInfo&gt;): void
1299
1300获取P2P当前组信息,使用callback异步回调。
1301
1302**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
1303
1304**系统能力:** SystemCapability.Communication.WiFi.P2P
1305
1306**参数:**
1307
1308  | 参数名 | 类型 | 必填 | 说明 |
1309  | -------- | -------- | -------- | -------- |
1310  | callback | AsyncCallback&lt;[WifiP2pGroupInfo](#wifip2pgroupinfo9)&gt; | 是 | 回调函数。当操作成功时,err为0,data表示当前组信息。如果error为非0,表示处理出现错误。 |
1311
1312
1313## wifi.getP2pPeerDevices<sup>9+</sup>
1314
1315getP2pPeerDevices(): Promise&lt;WifiP2pDevice[]&gt;
1316
1317获取P2P对端设备列表信息,使用Promise异步回调。
1318
1319**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
1320
1321**系统能力:** SystemCapability.Communication.WiFi.P2P
1322
1323**返回值:**
1324
1325  | 类型 | 说明 |
1326  | -------- | -------- |
1327  | Promise&lt;[WifiP2pDevice[]](#wifip2pdevice9)&gt; | Promise对象。表示对端设备列表信息。 |
1328
1329
1330## wifi.getP2pPeerDevices<sup>9+</sup>
1331
1332getP2pPeerDevices(callback: AsyncCallback&lt;WifiP2pDevice[]&gt;): void
1333
1334获取P2P对端设备列表信息,使用callback异步回调。
1335
1336**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
1337
1338**系统能力:** SystemCapability.Communication.WiFi.P2P
1339
1340**参数:**
1341
1342  | 参数名 | 类型 | 必填 | 说明 |
1343  | -------- | -------- | -------- | -------- |
1344  | callback | AsyncCallback&lt;[WifiP2pDevice[]](#wifip2pdevice9)&gt; | 是 | 回调函数。当操作成功时,err为0,data表示对端设备列表信息。如果error为非0,表示处理出现错误。 |
1345
1346
1347## WifiP2pDevice<sup>9+</sup>
1348
1349表示P2P设备信息。
1350
1351**系统能力:** SystemCapability.Communication.WiFi.P2P
1352
1353| 名称 | 类型 | 可读 | 可写 | 说明 |
1354| -------- | -------- | -------- | -------- | -------- |
1355| deviceName | string | 是 | 否 | 设备名称。 |
1356| deviceAddress | string | 是 | 否 | 设备MAC地址。 |
1357| primaryDeviceType | string | 是 | 否 | 主设备类型。 |
1358| deviceStatus | [P2pDeviceStatus](#p2pdevicestatus9) | 是 | 否 | 设备状态。 |
1359| groupCapabilities | number | 是 | 否 | 群组能力。 |
1360
1361
1362## P2pDeviceStatus<sup>9+</sup>
1363
1364表示设备状态的枚举。
1365
1366**系统能力:** SystemCapability.Communication.WiFi.P2P
1367
1368| 名称 | 值 | 说明 |
1369| -------- | -------- | -------- |
1370| CONNECTED | 0 | 连接状态。 |
1371| INVITED | 1 | 邀请状态。 |
1372| FAILED | 2 | 失败状态。 |
1373| AVAILABLE | 3 | 可用状态。 |
1374| UNAVAILABLE | 4 | 不可用状态。 |
1375
1376
1377## wifi.getP2pLocalDevice<sup>9+</sup>
1378
1379getP2pLocalDevice(): Promise&lt;WifiP2pDevice&gt;
1380
1381获取P2P本端设备信息,使用Promise异步回调。
1382
1383**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.GET_WIFI_CONFIG
1384
1385**系统能力:** SystemCapability.Communication.WiFi.P2P
1386
1387**返回值:**
1388
1389  | 类型 | 说明 |
1390  | -------- | -------- |
1391  | Promise&lt;[WifiP2pDevice](#wifip2pdevice9)&gt; | Promise对象。表示本端设备信息。 |
1392
1393
1394## wifi.getP2pLocalDevice<sup>9+</sup>
1395
1396getP2pLocalDevice(callback: AsyncCallback&lt;WifiP2pDevice&gt;): void
1397
1398获取P2P本端设备信息,使用callback异步回调。
1399
1400**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.GET_WIFI_CONFIG
1401
1402**系统能力:** SystemCapability.Communication.WiFi.P2P
1403
1404**参数:**
1405
1406  | 参数名 | 类型 | 必填 | 说明 |
1407  | -------- | -------- | -------- | -------- |
1408  | callback | AsyncCallback&lt;[WifiP2pDevice](#wifip2pdevice9)&gt; | 是 | 回调函数。当操作成功时,err为0,data表示本端设备信息。如果error为非0,表示处理出现错误。 |
1409
1410
1411## wifi.createGroup<sup>9+</sup>
1412
1413createGroup(config: WifiP2PConfig): void
1414
1415创建群组。
1416
1417**需要权限:** ohos.permission.GET_WIFI_INFO
1418
1419**系统能力:** SystemCapability.Communication.WiFi.P2P
1420
1421**参数:**
1422
1423  | **参数名** | **类型** | 必填 | **说明** |
1424  | -------- | -------- | -------- | -------- |
1425  | config | [WifiP2PConfig](#wifip2pconfig9) | 是 | 群组配置信息。 |
1426
1427**返回值:**
1428
1429  | 类型 | 说明 |
1430  | -------- | -------- |
1431  | boolean | true:创建群组操作执行成功,&nbsp;false:创建群组操作执行失败。 |
1432
1433
1434## WifiP2PConfig<sup>9+</sup>
1435
1436表示P2P配置信息。
1437
1438**系统能力:** SystemCapability.Communication.WiFi.P2P
1439
1440| 名称 | 类型 | 可读 | 可写 | 说明 |
1441| -------- | -------- | -------- | -------- | -------- |
1442| deviceAddress | string | 是 | 否 | 设备地址。 |
1443| netId | number | 是 | 否 | 网络ID。创建群组时-1表示创建临时组,-2表示创建永久组。 |
1444| passphrase | string | 是 | 否 | 群组密钥。 |
1445| groupName | string | 是 | 否 | 群组名称。 |
1446| goBand | [GroupOwnerBand](#groupownerband9) | 是 | 否 | 群组带宽。 |
1447
1448
1449## GroupOwnerBand<sup>9+</sup>
1450
1451表示群组带宽的枚举。
1452
1453**系统能力:** SystemCapability.Communication.WiFi.P2P
1454
1455| 名称 | 值 | 说明 |
1456| -------- | -------- | -------- |
1457| GO_BAND_AUTO | 0 | 自动模式。 |
1458| GO_BAND_2GHZ | 1 | 2GHZ。 |
1459| GO_BAND_5GHZ | 2 | 5GHZ。 |
1460
1461
1462## wifi.removeGroup<sup>9+</sup>
1463
1464removeGroup(): void
1465
1466移除群组。
1467
1468**需要权限:** ohos.permission.GET_WIFI_INFO
1469
1470**系统能力:** SystemCapability.Communication.WiFi.P2P
1471
1472**返回值:**
1473
1474  | 类型 | 说明 |
1475  | -------- | -------- |
1476  | boolean | true:操作执行成功,&nbsp;false:操作执行失败。 |
1477
1478
1479## wifi.p2pConnect<sup>9+</sup>
1480
1481p2pConnect(config: WifiP2PConfig): void
1482
1483执行P2P连接。
1484
1485**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
1486
1487**系统能力:** SystemCapability.Communication.WiFi.P2P
1488
1489**参数:**
1490
1491
1492  | **参数名** | **类型** | 必填 | **说明** |
1493  | -------- | -------- | -------- | -------- |
1494  | config | [WifiP2PConfig](#wifip2pconfig9) | 是 | 连接配置信息。 |
1495
1496**返回值:**
1497
1498  | 类型 | 说明 |
1499  | -------- | -------- |
1500  | boolean | true:操作执行成功,&nbsp;false:操作执行失败。 |
1501
1502
1503**示例:**
1504  ```js
1505  import wifi from '@ohos.wifi';
1506
1507  var recvP2pConnectionChangeFunc = result => {
1508      console.info("p2p connection change receive event: " + JSON.stringify(result));
1509      wifi.getP2pLinkedInfo((err, data) => {
1510          if (err) {
1511              console.error('failed to get getP2pLinkedInfo: ' + JSON.stringify(err));
1512              return;
1513          }
1514          console.info("get getP2pLinkedInfo: " + JSON.stringify(data));
1515      });
1516  }
1517  wifi.on("p2pConnectionChange", recvP2pConnectionChangeFunc);
1518
1519  var recvP2pDeviceChangeFunc = result => {
1520      console.info("p2p device change receive event: " + JSON.stringify(result));
1521  }
1522  wifi.on("p2pDeviceChange", recvP2pDeviceChangeFunc);
1523
1524  var recvP2pPeerDeviceChangeFunc = result => {
1525      console.info("p2p peer device change receive event: " + JSON.stringify(result));
1526      wifi.getP2pPeerDevices((err, data) => {
1527          if (err) {
1528              console.error('failed to get peer devices: ' + JSON.stringify(err));
1529              return;
1530          }
1531          console.info("get peer devices: " + JSON.stringify(data));
1532          var len = Object.keys(data).length;
1533          for (var i = 0; i < len; ++i) {
1534              if (data[i].deviceName === "my_test_device") {
1535                  console.info("p2p connect to test device: " + data[i].deviceAddress);
1536                  var config = {
1537                      "deviceAddress":data[i].deviceAddress,
1538                      "netId":-2,
1539                      "passphrase":"",
1540                      "groupName":"",
1541                      "goBand":0,
1542                  }
1543                  wifi.p2pConnect(config);
1544              }
1545          }
1546      });
1547  }
1548  wifi.on("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);
1549
1550  var recvP2pPersistentGroupChangeFunc = () => {
1551      console.info("p2p persistent group change receive event");
1552
1553      wifi.getCurrentGroup((err, data) => {
1554          if (err) {
1555              console.error('failed to get current group: ' + JSON.stringify(err));
1556              return;
1557          }
1558          console.info("get current group: " + JSON.stringify(data));
1559      });
1560  }
1561  wifi.on("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);
1562
1563  setTimeout(function() {wifi.off("p2pConnectionChange", recvP2pConnectionChangeFunc);}, 125 * 1000);
1564  setTimeout(function() {wifi.off("p2pDeviceChange", recvP2pDeviceChangeFunc);}, 125 * 1000);
1565  setTimeout(function() {wifi.off("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);}, 125 * 1000);
1566  setTimeout(function() {wifi.off("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);}, 125 * 1000);
1567  console.info("start discover devices -> " + wifi.startDiscoverDevices());
1568  ```
1569
1570## wifi.p2pCancelConnect<sup>9+</sup>
1571
1572p2pCancelConnect(): void
1573
1574取消P2P连接。
1575
1576**需要权限:** ohos.permission.GET_WIFI_INFO
1577
1578**系统能力:** SystemCapability.Communication.WiFi.P2P
1579
1580**返回值:**
1581
1582  | 类型 | 说明 |
1583  | -------- | -------- |
1584  | boolean | true:操作执行成功,&nbsp;false:操作执行失败。 |
1585
1586
1587## wifi.startDiscoverDevices<sup>9+</sup>
1588
1589startDiscoverDevices(): void
1590
1591开始发现设备。
1592
1593**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
1594
1595**系统能力:** SystemCapability.Communication.WiFi.P2P
1596
1597**返回值:**
1598
1599  | 类型 | 说明 |
1600  | -------- | -------- |
1601  | boolean | true:操作执行成功,&nbsp;false:操作执行失败。 |
1602
1603
1604## wifi.stopDiscoverDevices<sup>9+</sup>
1605
1606stopDiscoverDevices(): void
1607
1608停止发现设备。
1609
1610**需要权限:** ohos.permission.GET_WIFI_INFO
1611
1612**系统能力:** SystemCapability.Communication.WiFi.P2P
1613
1614**返回值:**
1615
1616  | 类型 | 说明 |
1617  | -------- | -------- |
1618  | boolean | true:操作执行成功,操作执行失败。 |
1619
1620
1621## wifi.deletePersistentGroup<sup>9+</sup>
1622
1623deletePersistentGroup(netId: number): void
1624
1625删除永久组。
1626
1627**系统接口:** 此接口为系统接口。
1628
1629**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION
1630
1631**系统能力:** SystemCapability.Communication.WiFi.P2P
1632
1633**参数:**
1634
1635
1636  | **参数名** | **类型** | 必填 | **说明** |
1637  | -------- | -------- | -------- | -------- |
1638  | netId | number | 是 | 组的ID。 |
1639
1640**返回值:**
1641
1642  | 类型 | 说明 |
1643  | -------- | -------- |
1644  | boolean | true:操作执行成功,操作执行失败。 |
1645
1646
1647## wifi.getP2pGroups<sup>9+</sup>
1648
1649getP2pGroups(): Promise&lt;Array&lt;WifiP2pGroupInfo&gt;&gt;
1650
1651获取创建的所有P2P群组信息,使用Promise异步回调。
1652
1653**系统接口:** 此接口为系统接口。
1654
1655**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
1656
1657**系统能力:** SystemCapability.Communication.WiFi.P2P
1658
1659**返回值:**
1660
1661  | 类型 | 说明 |
1662  | -------- | -------- |
1663  | Promise&lt;&nbsp;Array&lt;[WifiP2pGroupInfo](#wifip2pgroupinfo9)&gt;&nbsp;&gt; | Promise对象。表示所有群组信息。 |
1664
1665
1666## WifiP2pGroupInfo<sup>9+</sup>
1667
1668表示P2P群组相关信息。
1669
1670**系统能力:** SystemCapability.Communication.WiFi.P2P
1671
1672| 名称 | 类型 | 可读 | 可写 | 说明 |
1673| -------- | -------- | -------- | -------- | -------- |
1674| isP2pGo | boolean | 是 | 否 | 是否是群主。 |
1675| ownerInfo | [WifiP2pDevice](#wifip2pdevice9) | 是 | 否 | 群组的设备信息。 |
1676| passphrase | string | 是 | 否 | 群组密钥。 |
1677| interface | string | 是 | 否 | 接口名称。 |
1678| groupName | string | 是 | 否 | 群组名称。 |
1679| networkId | number | 是 | 否 | 网络ID。 |
1680| frequency | number | 是 | 否 | 群组的频率。 |
1681| clientDevices | [WifiP2pDevice[]](#wifip2pdevice9) | 是 | 否 | 接入的设备列表信息。 |
1682| goIpAddress | string | 是 | 否 | 群组IP地址。 |
1683
1684
1685## wifi.getP2pGroups<sup>9+</sup>
1686
1687getP2pGroups(callback: AsyncCallback&lt;Array&lt;WifiP2pGroupInfo&gt;&gt;): void
1688
1689获取创建的所有P2P群组信息,使用callback方式作为异步方法。
1690
1691**系统接口:** 此接口为系统接口。
1692
1693**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
1694
1695**系统能力:** SystemCapability.Communication.WiFi.P2P
1696
1697**参数:**
1698
1699  | 参数名 | 类型 | 必填 | 说明 |
1700  | -------- | -------- | -------- | -------- |
1701  | callback | AsyncCallback&lt;&nbsp;Array&lt;[WifiP2pGroupInfo](#wifip2pgroupinfo9)&gt;&gt; | 是 | 回调函数。当操作成功时,err为0,data表示所有群组信息。如果error为非0,表示处理出现错误。 |
1702
1703
1704## wifi.setDeviceName<sup>9+</sup>
1705
1706setDeviceName(devName: string): void
1707
1708设置设备名称。
1709
1710**系统接口:** 此接口为系统接口。
1711
1712**需要权限:** ohos.permission.SET_WIFI_INFOohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。
1713
1714**系统能力:** SystemCapability.Communication.WiFi.P2P
1715
1716**参数:**
1717
1718  | **参数名** | **类型** | **必填** | **说明** |
1719  | -------- | -------- | -------- | -------- |
1720  | devName | string | 是 | 设备名称。 |
1721
1722**返回值:**
1723
1724  | **类型** | **说明** |
1725  | -------- | -------- |
1726  | boolean | true:操作成功,&nbsp;false:操作失败。 |
1727
1728
1729## wifi.on('wifiStateChange')<sup>9+</sup>
1730
1731on(type: "wifiStateChange", callback: Callback&lt;number&gt;): void
1732
1733注册WLAN状态改变事件。
1734
1735**需要权限:** ohos.permission.GET_WIFI_INFO
1736
1737**系统能力:** SystemCapability.Communication.WiFi.STA
1738
1739**参数:**
1740
1741  | **参数名** | **类型** | **必填** | **说明** |
1742  | -------- | -------- | -------- | -------- |
1743  | type | string | 是 | 固定填"wifiStateChange"字符串。 |
1744  | callback | Callback&lt;number&gt; | 是 | 状态改变回调函数。 |
1745
1746**状态改变事件的枚举:**
1747
1748| **枚举值** | **说明** |
1749| -------- | -------- |
1750| 0 | 未激活。 |
1751| 1 | 已激活。 |
1752| 2 | 激活中。 |
1753| 3 | 去激活中。 |
1754
1755
1756## wifi.off('wifiStateChange')<sup>9+</sup>
1757
1758off(type: "wifiStateChange", callback?: Callback&lt;number&gt;): void
1759
1760取消注册WLAN状态改变事件。
1761
1762**需要权限:** ohos.permission.GET_WIFI_INFO
1763
1764**系统能力:** SystemCapability.Communication.WiFi.STA
1765
1766**参数:**
1767
1768  | **参数名** | **类型** | **必填** | **说明** |
1769  | -------- | -------- | -------- | -------- |
1770  | type | string | 是 | 固定填"wifiStateChange"字符串。 |
1771  | callback | Callback&lt;number&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
1772
1773**示例:**
1774  ```js
1775  import wifi from '@ohos.wifi';
1776
1777  var recvPowerNotifyFunc = result => {
1778      console.info("Receive power state change event: " + result);
1779  }
1780
1781  // Register event
1782  wifi.on("wifiStateChange", recvPowerNotifyFunc);
1783
1784  // Unregister event
1785  wifi.off("wifiStateChange", recvPowerNotifyFunc);
1786  ```
1787
1788
1789## wifi.on('wifiConnectionChange')<sup>9+</sup>
1790
1791on(type: "wifiConnectionChange", callback: Callback&lt;number&gt;): void
1792
1793注册WLAN连接状态改变事件。
1794
1795**需要权限:** ohos.permission.GET_WIFI_INFO
1796
1797**系统能力:** SystemCapability.Communication.WiFi.STA
1798
1799**参数:**
1800
1801  | **参数名** | **类型** | **必填** | **说明** |
1802  | -------- | -------- | -------- | -------- |
1803  | type | string | 是 | 固定填"wifiConnectionChange"字符串。 |
1804  | callback | Callback&lt;number&gt; | 是 | 状态改变回调函数。 |
1805
1806**连接状态改变事件的枚举:**
1807
1808| **枚举值** | **说明** |
1809| -------- | -------- |
1810| 0 | 已断开。 |
1811| 1 | 已连接。 |
1812
1813
1814## wifi.off('wifiConnectionChange')<sup>9+</sup>
1815
1816off(type: "wifiConnectionChange", callback?: Callback&lt;number&gt;): void
1817
1818取消注册WLAN连接状态改变事件。
1819
1820**需要权限:** ohos.permission.GET_WIFI_INFO
1821
1822**系统能力:** SystemCapability.Communication.WiFi.STA
1823
1824**参数:**
1825
1826  | **参数名** | **类型** | **必填** | **说明** |
1827  | -------- | -------- | -------- | -------- |
1828  | type | string | 是 | 固定填"wifiConnectionChange"字符串。 |
1829  | callback | Callback&lt;number&gt; | 否 | 连接状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
1830
1831
1832## wifi.on('wifiScanStateChange')<sup>9+</sup>
1833
1834on(type: "wifiScanStateChange", callback: Callback&lt;number&gt;): void
1835
1836注册扫描状态改变事件。
1837
1838**需要权限:** ohos.permission.GET_WIFI_INFO
1839
1840**系统能力:** SystemCapability.Communication.WiFi.STA
1841
1842**参数:**
1843
1844  | **参数名** | **类型** | **必填** | **说明** |
1845  | -------- | -------- | -------- | -------- |
1846  | type | string | 是 | 固定填"wifiScanStateChange"字符串。 |
1847  | callback | Callback&lt;number&gt; | 是 | 状态改变回调函数。 |
1848
1849**扫描状态改变事件的枚举:**
1850
1851| **枚举值** | **说明** |
1852| -------- | -------- |
1853| 0 | 扫描失败。 |
1854| 1 | 扫描成功。 |
1855
1856
1857## wifi.off('wifiScanStateChange')<sup>9+</sup>
1858
1859off(type: "wifiScanStateChange", callback?: Callback&lt;number&gt;): void
1860
1861取消注册扫描状态改变事件。
1862
1863**需要权限:** ohos.permission.GET_WIFI_INFO
1864
1865**系统能力:** SystemCapability.Communication.WiFi.STA
1866
1867**参数:**
1868
1869| **参数名** | **类型** | **必填** | **说明** |
1870| -------- | -------- | -------- | -------- |
1871| type | string | 是 | 固定填"wifiScanStateChange"字符串。 |
1872| callback | Callback&lt;number&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
1873
1874
1875## wifi.on('wifiRssiChange')<sup>9+</sup>
1876
1877on(type: "wifiRssiChange", callback: Callback&lt;number&gt;): void
1878
1879注册RSSI状态改变事件。
1880
1881**需要权限:** ohos.permission.GET_WIFI_INFO
1882
1883**系统能力:** SystemCapability.Communication.WiFi.STA
1884
1885**参数:**
1886
1887  | **参数名** | **类型** | **必填** | **说明** |
1888  | -------- | -------- | -------- | -------- |
1889  | type | string | 是 | 固定填"wifiRssiChange"字符串。 |
1890  | callback | Callback&lt;number&gt; | 是 | 状态改变回调函数,返回以dBm为单位的RSSI值。 |
1891
1892
1893## wifi.off('wifiRssiChange')<sup>9+</sup>
1894
1895off(type: "wifiRssiChange", callback?: Callback&lt;number&gt;): void
1896
1897取消注册RSSI状态改变事件。
1898
1899**需要权限:** ohos.permission.GET_WIFI_INFO
1900
1901**系统能力:** SystemCapability.Communication.WiFi.STA
1902
1903**参数:**
1904
1905  | **参数名** | **类型** | **必填** | **说明** |
1906  | -------- | -------- | -------- | -------- |
1907  | type | string | 是 | 固定填"wifiRssiChange"字符串。 |
1908  | callback | Callback&lt;number&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
1909
1910
1911## wifi.on('hotspotStateChange')<sup>9+</sup>
1912
1913on(type: "hotspotStateChange", callback: Callback&lt;number&gt;): void
1914
1915注册热点状态改变事件。
1916
1917**需要权限:** ohos.permission.GET_WIFI_INFO
1918
1919**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1920
1921**参数:**
1922
1923  | **参数名** | **类型** | **必填** | **说明** |
1924  | -------- | -------- | -------- | -------- |
1925  | type | string | 是 | 固定填"hotspotStateChange"字符串。 |
1926  | callback | Callback&lt;number&gt; | 是 | 状态改变回调函数。 |
1927
1928**热点状态改变事件的枚举:**
1929
1930| **枚举值** | **说明** |
1931| -------- | -------- |
1932| 0 | 未激活。 |
1933| 1 | 已激活。 |
1934| 2 | 激活中。 |
1935| 3 | 去激活中。 |
1936
1937
1938## wifi.off('hotspotStateChange')<sup>9+</sup>
1939
1940off(type: "hotspotStateChange", callback?: Callback&lt;number&gt;): void
1941
1942取消注册热点状态改变事件。
1943
1944**需要权限:** ohos.permission.GET_WIFI_INFO
1945
1946**系统能力:** SystemCapability.Communication.WiFi.AP.Core
1947
1948**参数:**
1949
1950  | **参数名** | **类型** | **必填** | **说明** |
1951  | -------- | -------- | -------- | -------- |
1952  | type | string | 是 | 固定填"hotspotStateChange"字符串。 |
1953  | callback | Callback&lt;number&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
1954
1955
1956## wifi.on('p2pStateChange')<sup>9+</sup>
1957
1958on(type: "p2pStateChange", callback: Callback&lt;number&gt;): void
1959
1960注册P2P开关状态改变事件。
1961
1962**需要权限:** ohos.permission.GET_WIFI_INFO
1963
1964**系统能力:** SystemCapability.Communication.WiFi.P2P
1965
1966**参数:**
1967
1968  | **参数名** | **类型** | **必填** | **说明** |
1969  | -------- | -------- | -------- | -------- |
1970  | type | string | 是 | 固定填"p2pStateChange"字符串。 |
1971  | callback | Callback&lt;number&gt; | 是 | 状态改变回调函数。 |
1972
1973**P2P状态改变事件的枚举:**
1974
1975| **枚举值** | **说明** |
1976| -------- | -------- |
1977| 1 | 空闲。 |
1978| 2 | 打开中。 |
1979| 3 | 已打开。 |
1980| 4 | 关闭中。 |
1981| 5 | 已关闭。 |
1982
1983## wifi.off('p2pStateChange')<sup>9+</sup>
1984
1985off(type: "p2pStateChange", callback?: Callback&lt;number&gt;): void
1986
1987取消注册P2P开关状态改变事件。
1988
1989**需要权限:** ohos.permission.GET_WIFI_INFO
1990
1991**系统能力:** SystemCapability.Communication.WiFi.P2P
1992
1993**参数:**
1994
1995  | **参数名** | **类型** | **必填** | **说明** |
1996  | -------- | -------- | -------- | -------- |
1997  | type | string | 是 | 固定填"p2pStateChange"字符串。 |
1998  | callback | Callback&lt;number&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
1999
2000
2001  ## wifi.on('p2pConnectionChange')<sup>9+</sup>
2002
2003on(type: "p2pConnectionChange", callback: Callback&lt;WifiP2pLinkedInfo&gt;): void
2004
2005注册P2P连接状态改变事件。
2006
2007**需要权限:** ohos.permission.GET_WIFI_INFO
2008
2009**系统能力:** SystemCapability.Communication.WiFi.P2P
2010
2011**参数:**
2012
2013  | **参数名** | **类型** | **必填** | **说明** |
2014  | -------- | -------- | -------- | -------- |
2015  | type | string | 是 | 固定填"p2pConnectionChange"字符串。 |
2016  | callback | Callback&lt;[WifiP2pLinkedInfo](#wifip2plinkedinfo9)&gt; | 是 | 状态改变回调函数。 |
2017
2018
2019## wifi.off('p2pConnectionChange')<sup>9+</sup>
2020
2021off(type: "p2pConnectionChange", callback?: Callback&lt;WifiP2pLinkedInfo&gt;): void
2022
2023取消注册P2P连接状态改变事件。
2024
2025**需要权限:** ohos.permission.GET_WIFI_INFO
2026
2027**系统能力:** SystemCapability.Communication.WiFi.P2P
2028
2029**参数:**
2030
2031  | **参数名** | **类型** | **必填** | **说明** |
2032  | -------- | -------- | -------- | -------- |
2033  | type | string | 是 | 固定填"p2pConnectionChange"字符串。 |
2034  | callback | Callback&lt;[WifiP2pLinkedInfo](#wifip2plinkedinfo9)&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
2035
2036
2037## wifi.on('p2pDeviceChange')<sup>9+</sup>
2038
2039on(type: "p2pDeviceChange", callback: Callback&lt;WifiP2pDevice&gt;): void
2040
2041注册P2P设备状态改变事件。
2042
2043**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
2044
2045**系统能力:** SystemCapability.Communication.WiFi.P2P
2046
2047**参数:**
2048
2049  | **参数名** | **类型** | **必填** | **说明** |
2050  | -------- | -------- | -------- | -------- |
2051  | type | string | 是 | 固定填"p2pDeviceChange"字符串。 |
2052  | callback | Callback&lt;[WifiP2pDevice](#wifip2pdevice9)&gt; | 是 | 状态改变回调函数。 |
2053
2054
2055## wifi.off('p2pDeviceChange')<sup>9+</sup>
2056
2057off(type: "p2pDeviceChange", callback?: Callback&lt;WifiP2pDevice&gt;): void
2058
2059取消注册P2P设备状态改变事件。
2060
2061**需要权限:** ohos.permission.LOCATION
2062
2063**系统能力:** SystemCapability.Communication.WiFi.P2P
2064
2065**参数:**
2066
2067  | **参数名** | **类型** | **必填** | **说明** |
2068  | -------- | -------- | -------- | -------- |
2069  | type | string | 是 | 固定填"p2pDeviceChange"字符串。 |
2070  | callback | Callback&lt;[WifiP2pDevice](#wifip2pdevice9)&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
2071
2072
2073## wifi.on('p2pPeerDeviceChange')<sup>9+</sup>
2074
2075on(type: "p2pPeerDeviceChange", callback: Callback&lt;WifiP2pDevice[]&gt;): void
2076
2077注册P2P对端设备状态改变事件。
2078
2079**需要权限:** ohos.permission.GET_WIFI_INFOohos.permission.LOCATION
2080
2081**系统能力:** SystemCapability.Communication.WiFi.P2P
2082
2083**参数:**
2084
2085  | **参数名** | **类型** | **必填** | **说明** |
2086  | -------- | -------- | -------- | -------- |
2087  | type | string | 是 | 固定填"p2pPeerDeviceChange"字符串。 |
2088  | callback | Callback&lt;[WifiP2pDevice[]](#wifip2pdevice9)&gt; | 是 | 状态改变回调函数。 |
2089
2090
2091## wifi.off('p2pPeerDeviceChange')<sup>9+</sup>
2092
2093off(type: "p2pPeerDeviceChange", callback?: Callback&lt;WifiP2pDevice[]&gt;): void
2094
2095取消注册P2P对端设备状态改变事件。
2096
2097**需要权限:** ohos.permission.LOCATION
2098
2099**系统能力:** SystemCapability.Communication.WiFi.P2P
2100
2101**参数:**
2102
2103  | **参数名** | **类型** | **必填** | **说明** |
2104  | -------- | -------- | -------- | -------- |
2105  | type | string | 是 | 固定填"p2pPeerDeviceChange"字符串。 |
2106  | callback | Callback&lt;[WifiP2pDevice[]](#wifip2pdevice9)&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
2107
2108
2109## wifi.on('p2pPersistentGroupChange')<sup>9+</sup>
2110
2111on(type: "p2pPersistentGroupChange", callback: Callback&lt;void&gt;): void
2112
2113注册P2P永久组状态改变事件。
2114
2115**需要权限:** ohos.permission.GET_WIFI_INFO
2116
2117**系统能力:** SystemCapability.Communication.WiFi.P2P
2118
2119**参数:**
2120
2121  | **参数名** | **类型** | **必填** | **说明** |
2122  | -------- | -------- | -------- | -------- |
2123  | type | string | 是 | 固定填"p2pPersistentGroupChange"字符串。 |
2124  | callback | Callback&lt;void&gt; | 是 | 状态改变回调函数。 |
2125
2126
2127## wifi.off('p2pPersistentGroupChange')<sup>9+</sup>
2128
2129off(type: "p2pPersistentGroupChange", callback?: Callback&lt;void&gt;): void
2130
2131取消注册P2P永久组状态改变事件。
2132
2133**需要权限:** ohos.permission.GET_WIFI_INFO
2134
2135**系统能力:** SystemCapability.Communication.WiFi.P2P
2136
2137**参数:**
2138
2139  | **参数名** | **类型** | **必填** | **说明** |
2140  | -------- | -------- | -------- | -------- |
2141  | type | string | 是 | 固定填"p2pPersistentGroupChange"字符串。 |
2142  | callback | Callback&lt;void&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
2143
2144
2145## wifi.on('p2pDiscoveryChange')<sup>9+</sup>
2146
2147on(type: "p2pDiscoveryChange", callback: Callback&lt;number&gt;): void
2148
2149注册发现设备状态改变事件。
2150
2151**需要权限:** ohos.permission.GET_WIFI_INFO
2152
2153**系统能力:** SystemCapability.Communication.WiFi.P2P
2154
2155**参数:**
2156
2157  | **参数名** | **类型** | **必填** | **说明** |
2158  | -------- | -------- | -------- | -------- |
2159  | type | string | 是 | 固定填"p2pDiscoveryChange"字符串。 |
2160  | callback | Callback&lt;number&gt; | 是 | 状态改变回调函数。 |
2161
2162**发现设备状态改变事件的枚举:**
2163
2164| **枚举值** | **说明** |
2165| -------- | -------- |
2166| 0 | 初始状态。 |
2167| 1 | 发现成功。 |
2168
2169
2170## wifi.off('p2pDiscoveryChange')<sup>9+</sup>
2171
2172off(type: "p2pDiscoveryChange", callback?: Callback&lt;number&gt;): void
2173
2174取消注册发现设备状态改变事件。
2175
2176**需要权限:** ohos.permission.GET_WIFI_INFO
2177
2178**系统能力:** SystemCapability.Communication.WiFi.P2P
2179
2180**参数:**
2181
2182  | **参数名** | **类型** | **必填** | **说明** |
2183  | -------- | -------- | -------- | -------- |
2184  | type | string | 是 | 固定填"p2pDiscoveryChange"字符串。 |
2185  | callback | Callback&lt;number&gt; | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
2186
2187