1# @ohos.wifiManager (WLAN) 2该模块主要提供WLAN基础功能、P2P(peer-to-peer)功能和WLAN消息通知的相应服务,让应用可以通过WLAN和其他设备互联互通。 3 4>  **说明:** 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_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。 23 24**系统能力:** SystemCapability.Communication.WiFi.STA 25 26**返回值:** 27 28 | **类型** | **说明** | 29 | -------- | -------- | 30 | boolean | true:操作成功, false:操作失败。| 31 32 33## wifi.disableWifi<sup>9+</sup> 34 35disableWifi(): void 36 37去使能WLAN。 38 39**系统接口:** 此接口为系统接口。 40 41**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。 42 43**系统能力:** SystemCapability.Communication.WiFi.STA 44 45**返回值:** 46 47 | **类型** | **说明** | 48 | -------- | -------- | 49 | boolean | true:操作成功, 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:已使能, false:未使能。 | 67 68 69## wifi.scan<sup>9+</sup> 70 71scan(): void 72 73启动WLAN扫描。 74 75**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.permission.LOCATION 76 77**系统能力:** SystemCapability.Communication.WiFi.STA 78 79**返回值:** 80 81 | **类型** | **说明** | 82 | -------- | -------- | 83 | boolean | true:扫描操作执行成功, false:扫描操作执行失败。 | 84 85 86## wifi.getScanResults<sup>9+</sup> 87 88getScanResults(): Promise<Array<WifiScanInfo>> 89 90获取扫描结果,使用Promise异步回调。 91 92**需要权限:** ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION) 93 94**系统能力:** SystemCapability.Communication.WiFi.STA 95 96**返回值:** 97 98 | **类型** | **说明** | 99 | -------- | -------- | 100 | Promise< Array<[WifiScanInfo](#wifiscaninfo)> > | Promise对象。返回扫描到的热点列表。 | 101 102 103## wifi.getScanResults<sup>9+</sup> 104 105getScanResults(callback: AsyncCallback<Array<WifiScanInfo>>): void 106 107获取扫描结果,使用callback异步回调。 108 109**需要权限:** ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION) 110 111**系统能力:** SystemCapability.Communication.WiFi.STA 112 113**参数:** 114 115 | **参数名** | **类型** | **必填** | **说明** | 116 | -------- | -------- | -------- | -------- | 117 | callback | AsyncCallback< Array<[WifiScanInfo](#wifiscaninfo)>> | 是 | 回调函数。当成功时,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<[WifiInfoElem](#wifiinfoelem9)> | 是 | 否 | 信息元素。 | 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 Equivalent Privacy (WEP)加密类型。 | 197| WIFI_SEC_TYPE_PSK | 3 | Pre-shared key (PSK)加密类型。 | 198| WIFI_SEC_TYPE_SAE | 4 | Simultaneous Authentication of Equals (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(): Array<[WifiScanInfo](#wifiscaninfo)> 239 240获取扫描结果,使用同步方式返回结果。 241 242**需要权限:** ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION) 243 244**系统能力:** SystemCapability.Communication.WiFi.STA 245 246**返回值:** 247 248 | **类型** | **说明** | 249 | -------- | -------- | 250 | Array<[WifiScanInfo](#wifiscaninfo)> | 扫描结果数组。 | 251 252 253## wifi.addDeviceConfig<sup>9+</sup> 254 255addDeviceConfig(config: WifiDeviceConfig): Promise<number> 256 257添加网络配置,使用Promise异步回调。 258 259**系统接口:** 此接口为系统接口。 260 261**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.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<number> | 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<string> | 是 | 否 | 域信息。 | 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<number>): void 403 404添加网络配置,使用callback异步回调。 405 406**系统接口:** 此接口为系统接口。 407 408**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.permission.SET_WIFI_CONFIG 409 410**系统能力:** SystemCapability.Communication.WiFi.STA 411 412**参数:** 413 414 | **参数名** | **类型** | **必填** | **说明** | 415 | -------- | -------- | -------- | -------- | 416 | config | [WifiDeviceConfig](#wifideviceconfig) | 是 | WLAN配置信息。 | 417 | callback | AsyncCallback<number> | 是 | 回调函数。当操作成功时,err为0,data为添加的网络配置ID,如果data值为-1,表示添加失败。当error为非0,表示处理出现错误。 | 418 419 420## wifi.addCandidateConfig<sup>9+</sup> 421 422addCandidateConfig(config: WifiDeviceConfig): Promise<number> 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<number> | Promise对象。表示网络配置ID。 | 441 442 443## wifi.addCandidateConfig<sup>9+</sup> 444 445addCandidateConfig(config: WifiDeviceConfig, callback: AsyncCallback<number>): 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<number> | 是 | 回调函数。当操作成功时,err为0,data为添加的网络配置ID,如果data值为-1,表示添加失败。如果操作出现错误,err为非0值。 | 459 460 461## wifi.removeCandidateConfig<sup>9+</sup> 462 463removeCandidateConfig(networkId: number): Promise<void> 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<void> | Promise对象。 | 482 483 484## wifi.removeCandidateConfig<sup>9+</sup> 485 486removeCandidateConfig(networkId: number, callback: AsyncCallback<void>): 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<void> | 是 | 回调函数。当操作成功时,err为0。如果error为非0,表示处理出现错误。 | 500 501 502## wifi.getCandidateConfigs<sup>9+</sup> 503 504getCandidateConfigs(): Array<[WifiDeviceConfig](#wifideviceconfig)> 505 506获取候选网络配置。 507 508**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 509 510**系统能力:** SystemCapability.Communication.WiFi.STA 511 512**返回值:** 513 514 | **类型** | **说明** | 515 | -------- | -------- | 516 | Array<[WifiDeviceConfig](#wifideviceconfig)> | 候选网络配置数组。 | 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:操作成功, false:操作失败。 | 559 560 561## wifi.connectToDevice<sup>9+</sup> 562 563connectToDevice(config: WifiDeviceConfig): void 564 565连接到指定网络。 566 567**系统接口:** 此接口为系统接口。 568 569**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.permission.SET_WIFI_CONFIG 和 ohos.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:操作成功, false:操作失败。 | 585 586 587## wifi.disconnect<sup>9+</sup> 588 589disconnect(): void 590 591断开连接的网络。 592 593**系统接口:** 此接口为系统接口。 594 595**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。 596 597**系统能力:** 598 SystemCapability.Communication.WiFi.STA 599 600**返回值:** 601 602 | **类型** | **说明** | 603 | -------- | -------- | 604 | boolean | true:操作成功, 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, 4]。 | 629 630 631## wifi.getLinkedInfo<sup>9+</sup> 632 633getLinkedInfo(): Promise<WifiLinkedInfo> 634 635获取WLAN连接信息,使用Promise异步回调。 636 637**需要权限:** ohos.permission.GET_WIFI_INFO 638 639**系统能力:** SystemCapability.Communication.WiFi.STA 640 641**返回值:** 642 643 | 类型 | 说明 | 644 | -------- | -------- | 645 | Promise<[WifiLinkedInfo](#wifilinkedinfo)> | Promise对象。表示WLAN连接信息。 | 646 647 648## wifi.getLinkedInfo<sup>9+</sup> 649 650getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): 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<[WifiLinkedInfo](#wifilinkedinfo)> | 是 | 回调函数。当获取成功时,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:已连接, 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 GHz带宽特性。 | 793| 0x0004 | GAS/ANQP特性。 | 794| 0x0008 | Wifi-Direct特性。 | 795| 0x0010 | Soft AP特性。 | 796| 0x0040 | Wi-Fi AWare组网特性。 | 797| 0x8000 | AP STA共存特性。 | 798| 0x8000000 | WPA3-Personal SAE特性。 | 799| 0x10000000 | WPA3-Enterprise 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:支持, false:不支持。 | 825 826 827## wifi.getDeviceMacAddress<sup>9+</sup> 828 829getDeviceMacAddress(): string[] 830 831获取设备的MAC地址。 832 833**系统接口:** 此接口为系统接口。 834 835**需要权限:** ohos.permission.GET_WIFI_LOCAL_MAC 和 ohos.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_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。 906 907**系统能力:** SystemCapability.Communication.WiFi.STA 908 909**返回值:** 910 911 | **类型** | **说明** | 912 | -------- | -------- | 913 | boolean | true:操作成功, false:操作失败。 | 914 915 916## wifi.reconnect<sup>9+</sup> 917 918reconnect(): void 919 920重新连接网络。 921 922**系统接口:** 此接口为系统接口。 923 924**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。 925 926**系统能力:** SystemCapability.Communication.WiFi.STA 927 928**返回值:** 929 930 | **类型** | **说明** | 931 | -------- | -------- | 932 | boolean | true:操作成功, false:操作失败。 | 933 934 935## wifi.getDeviceConfigs<sup>9+</sup> 936 937getDeviceConfigs(): Array<[WifiDeviceConfig](#wifideviceconfig)> 938 939获取网络配置。 940 941**系统接口:** 此接口为系统接口。 942 943**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 和 ohos.permission.GET_WIFI_CONFIG 944 945**系统能力:** SystemCapability.Communication.WiFi.STA 946 947**返回值:** 948 949 | **类型** | **说明** | 950 | -------- | -------- | 951 | Array<[WifiDeviceConfig](#wifideviceconfig)> | 网络配置信息的数组。 | 952 953 954## wifi.updateNetwork<sup>9+</sup> 955 956updateNetwork(config: WifiDeviceConfig): number 957 958更新网络配置。 959 960**系统接口:** 此接口为系统接口。 961 962**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.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_INFO 和 ohos.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:操作成功, false:操作失败。 | 1002 1003 1004## wifi.removeAllNetwork<sup>9+</sup> 1005 1006removeAllNetwork(): void 1007 1008移除所有网络配置。 1009 1010**系统接口:** 此接口为系统接口。 1011 1012**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_CONNECTION,仅系统应用可用。 1013 1014**系统能力:** SystemCapability.Communication.WiFi.STA 1015 1016**返回值:** 1017 1018 | **类型** | **说明** | 1019 | -------- | -------- | 1020 | boolean | true:操作成功, false:操作失败。 | 1021 1022 1023## wifi.removeDevice<sup>9+</sup> 1024 1025removeDevice(id: number): void 1026 1027移除指定的网络配置。 1028 1029**系统接口:** 此接口为系统接口。 1030 1031**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.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:操作成功, 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:操作成功, 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:操作成功, false:操作失败。| 1084 1085 1086## wifi.isHotspotDualBandSupported<sup>9+</sup> 1087 1088isHotspotDualBandSupported(): boolean 1089 1090热点是否支持双频。 1091 1092**系统接口:** 此接口为系统接口。 1093 1094**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。 1095 1096**系统能力:** SystemCapability.Communication.WiFi.AP.Core 1097 1098**返回值:** 1099 1100 | **类型** | **说明** | 1101 | -------- | -------- | 1102 | boolean | true:支持, 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:已使能, false:未使能。| 1122 1123 1124## wifi.setHotspotConfig<sup>9+</sup> 1125 1126setHotspotConfig(config: HotspotConfig): void 1127 1128设置热点配置信息。 1129 1130**系统接口:** 此接口为系统接口。 1131 1132**需要权限:** ohos.permission.SET_WIFI_INFO 和 ohos.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:操作成功, 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_INFO 和 ohos.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(): Array<[StationInfo](#stationinfo9)> 1188 1189获取连接的设备。 1190 1191**系统接口:** 此接口为系统接口。 1192 1193**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 和 ohos.permission.MANAGE_WIFI_HOTSPOT,仅系统应用可用。 1194 1195**系统能力:** SystemCapability.Communication.WiFi.AP.Core 1196 1197**返回值:** 1198 1199 | **类型** | **说明** | 1200 | -------- | -------- | 1201 | Array<[StationInfo](#stationinfo9)> | 连接的设备数组。 | 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<WifiP2pLinkedInfo> 1222 1223获取P2P连接信息,使用Promise异步回调。 1224 1225**需要权限:** ohos.permission.GET_WIFI_INFO 1226 1227**系统能力:** SystemCapability.Communication.WiFi.P2P 1228 1229**返回值:** 1230 1231 | 类型 | 说明 | 1232 | -------- | -------- | 1233 | Promise<[WifiP2pLinkedInfo](#wifip2plinkedinfo9)> | 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<WifiP2pLinkedInfo>): 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<[WifiP2pLinkedInfo](#wifip2plinkedinfo9)> | 是 | 回调函数。当操作成功时,err为0,data表示P2P连接信息。如果error为非0,表示处理出现错误。 | 1277 1278 1279## wifi.getCurrentGroup<sup>9+</sup> 1280 1281getCurrentGroup(): Promise<WifiP2pGroupInfo> 1282 1283获取P2P当前组信息,使用Promise异步回调。 1284 1285**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 1286 1287**系统能力:** SystemCapability.Communication.WiFi.P2P 1288 1289**返回值:** 1290 1291 | 类型 | 说明 | 1292 | -------- | -------- | 1293 | Promise<[WifiP2pGroupInfo](#wifip2pgroupinfo9)> | Promise对象。表示当前组信息。 | 1294 1295 1296## wifi.getCurrentGroup<sup>9+</sup> 1297 1298getCurrentGroup(callback: AsyncCallback<WifiP2pGroupInfo>): void 1299 1300获取P2P当前组信息,使用callback异步回调。 1301 1302**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 1303 1304**系统能力:** SystemCapability.Communication.WiFi.P2P 1305 1306**参数:** 1307 1308 | 参数名 | 类型 | 必填 | 说明 | 1309 | -------- | -------- | -------- | -------- | 1310 | callback | AsyncCallback<[WifiP2pGroupInfo](#wifip2pgroupinfo9)> | 是 | 回调函数。当操作成功时,err为0,data表示当前组信息。如果error为非0,表示处理出现错误。 | 1311 1312 1313## wifi.getP2pPeerDevices<sup>9+</sup> 1314 1315getP2pPeerDevices(): Promise<WifiP2pDevice[]> 1316 1317获取P2P对端设备列表信息,使用Promise异步回调。 1318 1319**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 1320 1321**系统能力:** SystemCapability.Communication.WiFi.P2P 1322 1323**返回值:** 1324 1325 | 类型 | 说明 | 1326 | -------- | -------- | 1327 | Promise<[WifiP2pDevice[]](#wifip2pdevice9)> | Promise对象。表示对端设备列表信息。 | 1328 1329 1330## wifi.getP2pPeerDevices<sup>9+</sup> 1331 1332getP2pPeerDevices(callback: AsyncCallback<WifiP2pDevice[]>): void 1333 1334获取P2P对端设备列表信息,使用callback异步回调。 1335 1336**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 1337 1338**系统能力:** SystemCapability.Communication.WiFi.P2P 1339 1340**参数:** 1341 1342 | 参数名 | 类型 | 必填 | 说明 | 1343 | -------- | -------- | -------- | -------- | 1344 | callback | AsyncCallback<[WifiP2pDevice[]](#wifip2pdevice9)> | 是 | 回调函数。当操作成功时,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<WifiP2pDevice> 1380 1381获取P2P本端设备信息,使用Promise异步回调。 1382 1383**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.GET_WIFI_CONFIG 1384 1385**系统能力:** SystemCapability.Communication.WiFi.P2P 1386 1387**返回值:** 1388 1389 | 类型 | 说明 | 1390 | -------- | -------- | 1391 | Promise<[WifiP2pDevice](#wifip2pdevice9)> | Promise对象。表示本端设备信息。 | 1392 1393 1394## wifi.getP2pLocalDevice<sup>9+</sup> 1395 1396getP2pLocalDevice(callback: AsyncCallback<WifiP2pDevice>): void 1397 1398获取P2P本端设备信息,使用callback异步回调。 1399 1400**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.GET_WIFI_CONFIG 1401 1402**系统能力:** SystemCapability.Communication.WiFi.P2P 1403 1404**参数:** 1405 1406 | 参数名 | 类型 | 必填 | 说明 | 1407 | -------- | -------- | -------- | -------- | 1408 | callback | AsyncCallback<[WifiP2pDevice](#wifip2pdevice9)> | 是 | 回调函数。当操作成功时,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:创建群组操作执行成功, 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:操作执行成功, false:操作执行失败。 | 1477 1478 1479## wifi.p2pConnect<sup>9+</sup> 1480 1481p2pConnect(config: WifiP2PConfig): void 1482 1483执行P2P连接。 1484 1485**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.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:操作执行成功, 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:操作执行成功, false:操作执行失败。 | 1585 1586 1587## wifi.startDiscoverDevices<sup>9+</sup> 1588 1589startDiscoverDevices(): void 1590 1591开始发现设备。 1592 1593**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 1594 1595**系统能力:** SystemCapability.Communication.WiFi.P2P 1596 1597**返回值:** 1598 1599 | 类型 | 说明 | 1600 | -------- | -------- | 1601 | boolean | true:操作执行成功, 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_INFO 和 ohos.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<Array<WifiP2pGroupInfo>> 1650 1651获取创建的所有P2P群组信息,使用Promise异步回调。 1652 1653**系统接口:** 此接口为系统接口。 1654 1655**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 1656 1657**系统能力:** SystemCapability.Communication.WiFi.P2P 1658 1659**返回值:** 1660 1661 | 类型 | 说明 | 1662 | -------- | -------- | 1663 | Promise< Array<[WifiP2pGroupInfo](#wifip2pgroupinfo9)> > | 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<Array<WifiP2pGroupInfo>>): void 1688 1689获取创建的所有P2P群组信息,使用callback方式作为异步方法。 1690 1691**系统接口:** 此接口为系统接口。 1692 1693**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 1694 1695**系统能力:** SystemCapability.Communication.WiFi.P2P 1696 1697**参数:** 1698 1699 | 参数名 | 类型 | 必填 | 说明 | 1700 | -------- | -------- | -------- | -------- | 1701 | callback | AsyncCallback< Array<[WifiP2pGroupInfo](#wifip2pgroupinfo9)>> | 是 | 回调函数。当操作成功时,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_INFO 和 ohos.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:操作成功, false:操作失败。 | 1727 1728 1729## wifi.on('wifiStateChange')<sup>9+</sup> 1730 1731on(type: "wifiStateChange", callback: Callback<number>): 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<number> | 是 | 状态改变回调函数。 | 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<number>): 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<number> | 否 | 状态改变回调函数。如果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<number>): 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<number> | 是 | 状态改变回调函数。 | 1805 1806**连接状态改变事件的枚举:** 1807 1808| **枚举值** | **说明** | 1809| -------- | -------- | 1810| 0 | 已断开。 | 1811| 1 | 已连接。 | 1812 1813 1814## wifi.off('wifiConnectionChange')<sup>9+</sup> 1815 1816off(type: "wifiConnectionChange", callback?: Callback<number>): 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<number> | 否 | 连接状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 1830 1831 1832## wifi.on('wifiScanStateChange')<sup>9+</sup> 1833 1834on(type: "wifiScanStateChange", callback: Callback<number>): 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<number> | 是 | 状态改变回调函数。 | 1848 1849**扫描状态改变事件的枚举:** 1850 1851| **枚举值** | **说明** | 1852| -------- | -------- | 1853| 0 | 扫描失败。 | 1854| 1 | 扫描成功。 | 1855 1856 1857## wifi.off('wifiScanStateChange')<sup>9+</sup> 1858 1859off(type: "wifiScanStateChange", callback?: Callback<number>): 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<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 1873 1874 1875## wifi.on('wifiRssiChange')<sup>9+</sup> 1876 1877on(type: "wifiRssiChange", callback: Callback<number>): 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<number> | 是 | 状态改变回调函数,返回以dBm为单位的RSSI值。 | 1891 1892 1893## wifi.off('wifiRssiChange')<sup>9+</sup> 1894 1895off(type: "wifiRssiChange", callback?: Callback<number>): 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<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 1909 1910 1911## wifi.on('hotspotStateChange')<sup>9+</sup> 1912 1913on(type: "hotspotStateChange", callback: Callback<number>): 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<number> | 是 | 状态改变回调函数。 | 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<number>): 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<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 1954 1955 1956## wifi.on('p2pStateChange')<sup>9+</sup> 1957 1958on(type: "p2pStateChange", callback: Callback<number>): 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<number> | 是 | 状态改变回调函数。 | 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<number>): 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<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 1999 2000 2001 ## wifi.on('p2pConnectionChange')<sup>9+</sup> 2002 2003on(type: "p2pConnectionChange", callback: Callback<WifiP2pLinkedInfo>): 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<[WifiP2pLinkedInfo](#wifip2plinkedinfo9)> | 是 | 状态改变回调函数。 | 2017 2018 2019## wifi.off('p2pConnectionChange')<sup>9+</sup> 2020 2021off(type: "p2pConnectionChange", callback?: Callback<WifiP2pLinkedInfo>): 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<[WifiP2pLinkedInfo](#wifip2plinkedinfo9)> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 2035 2036 2037## wifi.on('p2pDeviceChange')<sup>9+</sup> 2038 2039on(type: "p2pDeviceChange", callback: Callback<WifiP2pDevice>): void 2040 2041注册P2P设备状态改变事件。 2042 2043**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 2044 2045**系统能力:** SystemCapability.Communication.WiFi.P2P 2046 2047**参数:** 2048 2049 | **参数名** | **类型** | **必填** | **说明** | 2050 | -------- | -------- | -------- | -------- | 2051 | type | string | 是 | 固定填"p2pDeviceChange"字符串。 | 2052 | callback | Callback<[WifiP2pDevice](#wifip2pdevice9)> | 是 | 状态改变回调函数。 | 2053 2054 2055## wifi.off('p2pDeviceChange')<sup>9+</sup> 2056 2057off(type: "p2pDeviceChange", callback?: Callback<WifiP2pDevice>): 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<[WifiP2pDevice](#wifip2pdevice9)> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 2071 2072 2073## wifi.on('p2pPeerDeviceChange')<sup>9+</sup> 2074 2075on(type: "p2pPeerDeviceChange", callback: Callback<WifiP2pDevice[]>): void 2076 2077注册P2P对端设备状态改变事件。 2078 2079**需要权限:** ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION 2080 2081**系统能力:** SystemCapability.Communication.WiFi.P2P 2082 2083**参数:** 2084 2085 | **参数名** | **类型** | **必填** | **说明** | 2086 | -------- | -------- | -------- | -------- | 2087 | type | string | 是 | 固定填"p2pPeerDeviceChange"字符串。 | 2088 | callback | Callback<[WifiP2pDevice[]](#wifip2pdevice9)> | 是 | 状态改变回调函数。 | 2089 2090 2091## wifi.off('p2pPeerDeviceChange')<sup>9+</sup> 2092 2093off(type: "p2pPeerDeviceChange", callback?: Callback<WifiP2pDevice[]>): 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<[WifiP2pDevice[]](#wifip2pdevice9)> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 2107 2108 2109## wifi.on('p2pPersistentGroupChange')<sup>9+</sup> 2110 2111on(type: "p2pPersistentGroupChange", callback: Callback<void>): 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<void> | 是 | 状态改变回调函数。 | 2125 2126 2127## wifi.off('p2pPersistentGroupChange')<sup>9+</sup> 2128 2129off(type: "p2pPersistentGroupChange", callback?: Callback<void>): 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<void> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 2143 2144 2145## wifi.on('p2pDiscoveryChange')<sup>9+</sup> 2146 2147on(type: "p2pDiscoveryChange", callback: Callback<number>): 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<number> | 是 | 状态改变回调函数。 | 2161 2162**发现设备状态改变事件的枚举:** 2163 2164| **枚举值** | **说明** | 2165| -------- | -------- | 2166| 0 | 初始状态。 | 2167| 1 | 发现成功。 | 2168 2169 2170## wifi.off('p2pDiscoveryChange')<sup>9+</sup> 2171 2172off(type: "p2pDiscoveryChange", callback?: Callback<number>): 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<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | 2186 2187