From ea5c5541e85636af3db1eba94fae18928b417adf Mon Sep 17 00:00:00 2001 From: zhangfeng Date: Sat, 12 Mar 2022 07:43:47 +0000 Subject: [PATCH] Update wifi document Signed-off-by: zhangfeng --- .../reference/apis/js-apis-wifi.md | 979 ++++++++++++++++-- .../reference/apis/js-apis-wifiext.md | 153 +++ 2 files changed, 1069 insertions(+), 63 deletions(-) create mode 100755 zh-cn/application-dev/reference/apis/js-apis-wifiext.md diff --git a/zh-cn/application-dev/reference/apis/js-apis-wifi.md b/zh-cn/application-dev/reference/apis/js-apis-wifi.md index a790cd76c5..71fb6b77d8 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-wifi.md +++ b/zh-cn/application-dev/reference/apis/js-apis-wifi.md @@ -6,17 +6,22 @@ ## 导入模块 -``` +```js import wifi from '@ohos.wifi'; ``` - ## wifi.isWifiActive isWifiActive(): boolean 查询WLAN是否已激活。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 返回值: | **类型** | **说明** | | -------- | -------- | @@ -29,10 +34,16 @@ scan(): boolean 启动WLAN扫描。 +- 需要权限: + ohos.permission.SET_WIFI_INFO,ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 返回值: | **类型** | **说明** | | -------- | -------- | - | boolean | true:扫描操作成功, false:扫描操作执行失败。 | + | boolean | true:扫描操作执行成功, false:扫描操作执行失败。 | ## wifi.getScanInfos @@ -41,6 +52,12 @@ getScanInfos(): Promise<Array<WifiScanInfo>> 获取扫描结果,使用promise方式作为异步方法。 +- 需要权限: + ohos.permission.GET_WIFI_INFO以及ohos.permission.GET_WIFI_PEERS_MAC和ohos.permission.LOCATION权限中的至少一个。 + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 返回值: | **类型** | **说明** | | -------- | -------- | @@ -53,39 +70,54 @@ getScanInfos(callback: AsyncCallback<Array<WifiScanInfo>>): void 获取扫描结果,使用callback方式作为异步方法。 +- 需要权限: + ohos.permission.GET_WIFI_INFO以及ohos.permission.GET_WIFI_PEERS_MAC和ohos.permission.LOCATION权限中的至少一个。 + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | | callback | AsyncCallback< Array<[WifiScanInfo](#wifiscaninfo)>> | 是 | 扫描到的热点列表结果回调函数。 | - 示例 - ``` + ```js import wifi from '@ohos.wifi'; - wifi.getScanInfos(result => { + wifi.getScanInfos((err, result) => { + if (err) { + console.error("get scan info error"); + return; + } + var len = Object.keys(result).length; - console.log("wifi received scan info call back: " + len); + console.log("wifi received scan info: " + len); for (var i = 0; i < len; ++i) { console.info("ssid: " + result[i].ssid); console.info("bssid: " + result[i].bssid); + console.info("capabilities: " + result[i].capabilities); console.info("securityType: " + result[i].securityType); console.info("rssi: " + result[i].rssi); console.info("band: " + result[i].band); console.info("frequency: " + result[i].frequency); + console.info("channelWidth: " + result[i].channelWidth); console.info("timestamp: " + result[i].timestamp); } }); wifi.getScanInfos().then(result => { var len = Object.keys(result).length; - console.log("wifi received scan info promise: " + len); + console.log("wifi received scan info: " + len); for (var i = 0; i < len; ++i) { console.info("ssid: " + result[i].ssid); console.info("bssid: " + result[i].bssid); + console.info("capabilities: " + result[i].capabilities); console.info("securityType: " + result[i].securityType); console.info("rssi: " + result[i].rssi); console.info("band: " + result[i].band); console.info("frequency: " + result[i].frequency); + console.info("channelWidth: " + result[i].channelWidth); console.info("timestamp: " + result[i].timestamp); } }); @@ -100,10 +132,12 @@ WLAN热点信息。 | -------- | -------- | -------- | -------- | | ssid | string | 只读 | 热点的SSID,编码格式为UTF-8。 | | bssid | string | 只读 | 热点的BSSID。 | -| securityType | [WifiSecurityType](#wifisecuritytype) | 只读 | WLAN加密类型。 | +| capabilities | string | 只读 | 热点能力。 | +| securityType | [WifiSecurityType](#WifiSecurityType) | 只读 | WLAN加密类型。 | | rssi | number | 只读 | 热点的信号强度(dBm)。 | | band | number | 只读 | WLAN接入点的频段。 | | frequency | number | 只读 | WLAN接入点的频率。 | +| channelWidth | number | 只读 | WLAN接入点的带宽。 | | timestamp | number | 只读 | 时间戳。 | @@ -120,61 +154,124 @@ WLAN热点信息。 | WIFI_SEC_TYPE_SAE | 4 | Simultaneous Authentication of Equals (SAE)加密类型。 | -## wifi.getSignalLevel +## wifi.addUntrustedConfig -getSignalLevel(rssi: number, band: number): number +addUntrustedConfig(config: WifiDeviceConfig): Promise<boolean> -查询WLAN信号强度。 +添加不可信网络配置,使用promise方式作为异步方法。 -- 参数: +- 需要权限: + ohos.permission.SET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + +- 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | rssi | number | 是 | 热点的信号强度(dBm)。 | - | band | number | 是 | WLAN接入点的频段。 | + | config | [WifiDeviceConfig](#WifiDeviceConfig) | 是 | WLAN配置信息。 | - 返回值: | **类型** | **说明** | | -------- | -------- | - | number | 信号强度,取值范围为[0, 4]。 | + | Promise<boolean> | 操作结果,ture: 成功, false: 失败。 | +## WifiDeviceConfig -## wifi.getIpInfo7+ +WLAN配置信息。 -getIpInfo(): IpInfo +| **参数名** | **类型** | **读写属性** | **说明** | +| -------- | -------- | -------- | -------- | +| ssid | string | 只读 | 热点的SSID,编码格式为UTF-8。 | +| bssid | string | 只读 | 热点的BSSID。 | +| preSharedKey | string | 只读 | 热点的密钥。 | +| isHiddenSsid | boolean | 只读 | 是否是隐藏网络。 | +| securityType | [WifiSecurityType](#WifiSecurityType) | 只读 | 加密类型。 | -获取IP信息。 + +## wifi.addUntrustedConfig + +addUntrustedConfig(config: WifiDeviceConfig, callback: AsyncCallback<boolean>): void + +添加不可信网络配置,使用callback方式作为异步方法。 + +- 需要权限: + ohos.permission.SET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | config | [WifiDeviceConfig](#WifiDeviceConfig) | 是 | WLAN配置信息。 | + | callback | AsyncCallback<boolean> | 是 | 操作结果,ture: 成功, false: 失败。 | + + +## wifi.removeUntrustedConfig + +removeUntrustedConfig(config: WifiDeviceConfig): Promise<boolean> + +移除不可信网络配置,使用promise方式作为异步方法。 + +- 需要权限: + ohos.permission.SET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | config | [WifiDeviceConfig](#WifiDeviceConfig) | 是 | WLAN配置信息。 | - 返回值: | **类型** | **说明** | | -------- | -------- | - | [IpInfo](#ipinfo) | 返回IP信息。 | + | Promise<boolean> | 操作结果,ture: 成功, false: 失败。 | -## IpInfo +## wifi.removeUntrustedConfig -IP信息。 +removeUntrustedConfig(config: WifiDeviceConfig, callback: AsyncCallback<boolean>): void -| **参数名** | **类型** | **读写属性** | **说明** | -| -------- | -------- | -------- | -------- | -| ipAddress | number | 只读 | IP地址。 | -| gateway | number | 只读 | 网关。 | -| netmask | number | 只读 | 掩码。 | -| primaryDns | number | 只读 | 主DNS服务器IP地址。 | -| secondDns | number | 只读 | 备DNS服务器IP地址。 | -| serverIp | number | 只读 | DHCP服务端IP地址。 | -| leaseDuration | number | 只读 | IP地址租用时长。 | +添加不可信网络配置,使用callback方式作为异步方法。 +- 需要权限: + ohos.permission.SET_WIFI_INFO -## wifi.isConnected7+ +- 系统能力: + SystemCapability.Communication.WiFi.STA -isConnected(): boolean +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | config | [WifiDeviceConfig](#WifiDeviceConfig) | 是 | WLAN配置信息。 | + | callback | AsyncCallback<boolean> | 是 | 操作结果,ture: 成功, false: 失败。 | -查询WLAN是否已连接。 + +## wifi.getSignalLevel + +getSignalLevel(rssi: number, band: number): number + +查询WLAN信号强度。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + +- 参数: + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | rssi | number | 是 | 热点的信号强度(dBm)。 | + | band | number | 是 | WLAN接入点的频段。 | - 返回值: | **类型** | **说明** | | -------- | -------- | - | boolean | true:已连接, false:未连接。 | + | number | 信号强度,取值范围为[0, 4]。 | ## wifi.getLinkedInfo7+ @@ -183,10 +280,16 @@ getLinkedInfo(): Promise<WifiLinkedInfo> 获取WLAN连接信息,使用promise方式作为异步方法。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 返回值: | 类型 | 说明 | | -------- | -------- | - | Promise<[WifiLinkedInfo](#wifilinkedinfo)> | 返回WLAN连接的相关信息。 | + | Promise<[WifiLinkedInfo](#WifiLinkedInfo)> | WLAN连接的相关信息。 | ## wifi.getLinkedInfo7+ @@ -195,23 +298,33 @@ getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void 获取WLAN连接信息,使用callback方式作为异步方法。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | - | callback | AsyncCallback<[WifiLinkedInfo](#wifilinkedinfo)> | 是 | 获取WLAN连接信息结果回调函数。 | + | callback | AsyncCallback<[WifiLinkedInfo](#WifiLinkedInfo)> | 是 | WLAN连接信息结果回调函数。 | - 示例 - ``` + ```js import wifi from '@ohos.wifi'; - wifi.getLinkedInfo(data => { - console.info("get wifi linked info [callback]: " + JSON.stringify(data)); + wifi.getLinkedInfo((err, data) => { + if (err) { + console.error("get linked info error"); + return; + } + console.info("get wifi linked info: " + JSON.stringify(data)); }); wifi.getLinkedInfo().then(data => { - console.info("get wifi linked info [promise]: " + JSON.stringify(data)); + console.info("get wifi linked info: " + JSON.stringify(data)); }).catch(error => { - console.info("linked info promise then error"); + console.info("get linked info error"); }); ``` @@ -232,7 +345,7 @@ getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void | isRestricted | boolean | 只读 | WLAN接入点是否限制数据量。 | | macAddress | string | 只读 | 设备的MAC地址。 | | ipAddress | number | 只读 | WLAN连接的IP地址。 | -| connState | ConnState | 只读 | WLAN连接状态。 | +| connState | [ConnState](#ConnState) | 只读 | WLAN连接状态。 | ## ConnState @@ -251,16 +364,22 @@ getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void | UNKNOWN | 7 | WLAN连接建立失败。 | -## wifi.getCountryCode7+ +## wifi.isConnected7+ -getCountryCode(): string +isConnected(): boolean -获取国家码信息。 +查询WLAN是否已连接。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA - 返回值: | **类型** | **说明** | | -------- | -------- | - | string | 国家码。 | + | boolean | true:已连接, false:未连接。 | ## wifi.isFeatureSupported7+ @@ -269,6 +388,12 @@ isFeatureSupported(featureId: number): boolean 判断设备是否支持相关WLAN特性。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.Core + - 参数: | **参数名** | **类型** | 必填 | **说明** | | -------- | -------- | -------- | -------- | @@ -294,16 +419,450 @@ isFeatureSupported(featureId: number): boolean | 0x20000000 | 增强开放特性。 | +## wifi.getIpInfo7+ + +getIpInfo(): IpInfo + +获取IP信息。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + +- 返回值: + | **类型** | **说明** | + | -------- | -------- | + | [IpInfo](#IpInfo) | IP信息。 | + + +## IpInfo + +IP信息。 + +| **参数名** | **类型** | **读写属性** | **说明** | +| -------- | -------- | -------- | -------- | +| ipAddress | number | 只读 | IP地址。 | +| gateway | number | 只读 | 网关。 | +| netmask | number | 只读 | 掩码。 | +| primaryDns | number | 只读 | 主DNS服务器IP地址。 | +| secondDns | number | 只读 | 备DNS服务器IP地址。 | +| serverIp | number | 只读 | DHCP服务端IP地址。 | +| leaseDuration | number | 只读 | IP地址租用时长。 | + + +## wifi.getCountryCode7+ + +getCountryCode(): string + +获取国家码信息。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.Core + +- 返回值: + | **类型** | **说明** | + | -------- | -------- | + | string | 国家码。 | + + +## wifi.getP2pLinkedInfo8+ + +getP2pLinkedInfo(): Promise<WifiP2pLinkedInfo> + +获取P2P连接信息,使用promise方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<[WifiP2pLinkedInfo](#WifiP2pLinkedInfo)> | P2P连接信息。 | + + +## wifi.getP2pLinkedInfo8+ + +getP2pLinkedInfo(callback: AsyncCallback<WifiP2pLinkedInfo>): void + +获取P2P连接信息,使用callback方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | callback | AsyncCallback<[WifiP2pLinkedInfo](#WifiP2pLinkedInfo)> | 是 | P2P连接信息结果回调函数。 | + + +## WifiP2pLinkedInfo + +提供WLAN连接的相关信息。 + +| 参数名 | 类型 | 读写属性 | 说明 | +| -------- | -------- | -------- | -------- | +| connectState | [P2pConnectState](#P2pConnectState) | 只读 | P2P连接状态。 | +| isGroupOwner | boolean | 只读 | 是否是群组。 | +| groupOwnerAddr | string | 只读 | 群组MAC地址。 | + + +## P2pConnectState + +表示P2P连接状态的枚举。 + +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| DISCONNECTED | 0 | 断开状态。 | +| CONNECTED | 1 | 连接状态。 | + + +## wifi.getCurrentGroup8+ + +getCurrentGroup(): Promise<WifiP2pGroupInfo> + +获取P2P当前组信息,使用promise方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<[WifiP2pGroupInfo](#WifiP2pGroupInfo)> | 当前组信息。 | + + +## wifi.getCurrentGroup8+ + +getCurrentGroup(callback: AsyncCallback<WifiP2pGroupInfo>): void + +获取P2P当前组信息,使用callback方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | callback | AsyncCallback<[WifiP2pGroupInfo](#WifiP2pGroupInfo)> | 是 | 当前组信息的回调函数。 | + + +## WifiP2pGroupInfo + +表示P2P群组相关信息。 + +| 参数名 | 类型 | 读写属性 | 说明 | +| -------- | -------- | -------- | -------- | +| isP2pGo | boolean | 只读 | 是否是群组。 | +| ownerInfo | [WifiP2pDevice](#WifiP2pDevice) | 只读 | 群组的设备信息。 | +| passphrase | string | 只读 | 群组密钥。 | +| interface | string | 只读 | 接口名称。 | +| groupName | string | 只读 | 群组名称。 | +| networkId | number | 只读 | 网络ID。 | +| frequency | number | 只读 | 群组的频率。 | +| clientDevices | [WifiP2pDevice[]](#WifiP2pDevice) | 只读 | 接入的设备列表信息。 | +| goIpAddress | string | 只读 | 群组IP地址。 | + +## WifiP2pDevice + +表示P2P设备信息。 + +| 参数名 | 类型 | 读写属性 | 说明 | +| -------- | -------- | -------- | -------- | +| deviceName | string | 只读 | 设备名称。 | +| deviceAddress | string | 只读 | 设备MAC地址。 | +| primaryDeviceType | string | 只读 | 主设备类型。 | +| deviceStatus | [P2pDeviceStatus](#P2pDeviceStatus) | 只读 | 设备状态。 | +| groupCapabilitys | number | 只读 | 群组能力。 | + +## P2pDeviceStatus + +表示设备状态的枚举。 + +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| CONNECTED | 0 | 连接状态。 | +| INVITED | 1 | 邀请状态。 | +| FAILED | 2 | 失败状态。 | +| AVAILABLE | 3 | 可用状态。 | +| UNAVAILABLE | 4 | 不可用状态。 | + + +## wifi.getP2pPeerDevices8+ + +getP2pPeerDevices(): Promise<WifiP2pDevice[]> + +获取P2P对端设备列表信息,使用promise方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<[WifiP2pDevice[]](#WifiP2pDevice)> | 对端设备列表信息。 | + + +## wifi.getP2pPeerDevices8+ + +getP2pPeerDevices(callback: AsyncCallback<WifiP2pDevice[]>): void + +获取P2P对端设备列表信息,使用callback方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | callback | AsyncCallback<[WifiP2pDevice[]](#WifiP2pDevice)> | 是 | 对端设备列表信息回调函数。 | + + +## wifi.createGroup8+ + +createGroup(config: WifiP2PConfig): boolean; + +创建群组。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数: + | **参数名** | **类型** | 必填 | **说明** | + | -------- | -------- | -------- | -------- | + | config | [WifiP2PConfig](#WifiP2PConfig) | 是 | 群组配置信息。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | boolean | true:创建群组操作执行成功, false:创建群组操作执行失败。 | + +## WifiP2PConfig + +表示P2P配置信息。 + +| 参数名 | 类型 | 读写属性 | 说明 | +| -------- | -------- | -------- | -------- | +| deviceAddress | string | 只读 | 设备名称。 | +| netId | number | 只读 | 网络ID。创建群组时-1表示创建临时组,-2表示创建永久组。 | +| passphrase | string | 只读 | 群组密钥。 | +| groupName | string | 只读 | 群组名称。 | +| goBand | [GroupOwnerBand](#GroupOwnerBand) | 只读 | 群组带宽。 | + + +## GroupOwnerBand + +表示群组带宽的枚举。 + +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| GO_BAND_AUTO | 0 | 自动模式。 | +| GO_BAND_2GHZ | 1 | 2GHZ。 | +| GO_BAND_5GHZ | 2 | 5GHZ。 | + +## wifi.removeGroup8+ + +removeGroup(): boolean; + +移除群组。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | boolean | true:操作执行成功, false:操作执行失败。 | + + +## wifi.p2pConnect8+ + +p2pConnect(config: WifiP2PConfig): boolean; + +执行P2P连接。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数: + | **参数名** | **类型** | 必填 | **说明** | + | -------- | -------- | -------- | -------- | + | config | [WifiP2PConfig](#WifiP2PConfig) | 是 | 连接配置信息。 | + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | boolean | true:操作执行成功, false:操作执行失败。 | + + +- 示例 + ```js + import wifi from '@ohos.wifi'; + + var recvP2pConnectionChangeFunc = result => { + console.info("p2p connection change receive event: " + JSON.stringify(result)); + wifi.getP2pLinkedInfo((err, data) => { + if (err) { + console.error('failed to get getP2pLinkedInfo: ' + JSON.stringify(err)); + return; + } + console.info("get getP2pLinkedInfo: " + JSON.stringify(data)); + }); + } + wifi.on("p2pConnectionChange", recvP2pConnectionChangeFunc); + + var recvP2pDeviceChangeFunc = result => { + console.info("p2p device change receive event: " + JSON.stringify(result)); + } + wifi.on("p2pDeviceChange", recvP2pDeviceChangeFunc); + + var recvP2pPeerDeviceChangeFunc = result => { + console.info("p2p peer device change receive event: " + JSON.stringify(result)); + wifi.getP2pPeerDevices((err, data) => { + if (err) { + console.error('failed to get peer devices: ' + JSON.stringify(err)); + return; + } + console.info("get peer devices: " + JSON.stringify(data)); + var len = Object.keys(data).length; + for (var i = 0; i < len; ++i) { + if (data[i].deviceName === "my_test_device") { + console.info("p2p connect to test device: " + data[i].deviceAddress); + var config = { + "deviceAddress":data[i].deviceAddress, + "netId":-2, + "passphrase":"", + "groupName":"", + "goBand":0, + } + wifi.p2pConnect(config); + } + } + }); + } + wifi.on("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc); + + var recvP2pPersistentGroupChangeFunc = result => { + console.info("p2p persistent group change receive event"); + + wifi.getCurrentGroup((err, data) => { + if (err) { + console.error('failed to get current group: ' + JSON.stringify(err)); + return; + } + console.info("get current group: " + JSON.stringify(data)); + }); + } + wifi.on("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc); + + setTimeout(function() {wifi.off("p2pConnectionChange", recvP2pConnectionChangeFunc);}, 125 * 1000); + setTimeout(function() {wifi.off("p2pDeviceChange", recvP2pDeviceChangeFunc);}, 125 * 1000); + setTimeout(function() {wifi.off("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);}, 125 * 1000); + setTimeout(function() {wifi.off("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);}, 125 * 1000); + console.info("start discover devices -> " + wifi.startDiscoverDevices()); + ``` + +## wifi.p2pCancelConnect8+ + +p2pCancelConnect(): boolean; + +取消P2P连接。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | boolean | true:取消连接操作执行成功, false:取消连接操作执行失败。 | + + +## wifi.startDiscoverDevices8+ + +startDiscoverDevices(): boolean; + +开始发现设备。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | boolean | true:操作执行成功, false:操作执行失败。 | + + +## wifi.stopDiscoverDevices8+ + +stopDiscoverDevices(): boolean; + +停止发现设备。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | boolean | true:操作执行成功,操作执行失败。 | + + ## wifi.on('wifiStateChange')7+ on(type: "wifiStateChange", callback: Callback<number>): void 注册WLAN状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | type | string | 是 | 固定填"wifiStateChange"字符串 | + | type | string | 是 | 固定填"wifiStateChange"字符串。 | | callback | Callback<number> | 是 | 状态改变回调函数。 | - 状态改变事件的枚举。 @@ -321,29 +880,32 @@ off(type: "wifiStateChange", callback?: Callback<number>): void 取消注册WLAN状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | type | string | 是 | 固定填"wifiStateChange"字符串 | + | type | string | 是 | 固定填"wifiStateChange"字符串。 | | callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | - 示例 - ``` + ```js import wifi from '@ohos.wifi'; - import { EventListener } from '@ohos.wifi'; var WIFI_POWER_STATE = "wifiStateChange"; - var listener = new EventListener(); - var recvPowerNotifyFunc = result => { - console.info("power state receive event: " + result); + console.info("Receive power state change event: " + result); } // Register event - listener.on(WIFI_POWER_STATE, recvPowerNotifyFunc); + wifi.on(WIFI_POWER_STATE, recvPowerNotifyFunc); // Unregister event - listener.off(WIFI_POWER_STATE, recvPowerNotifyFunc); + wifi.off(WIFI_POWER_STATE, recvPowerNotifyFunc); ``` @@ -353,10 +915,16 @@ on(type: "wifiConnectionChange", callback: Callback<number>): void 注册WLAN连接状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | type | string | 是 | 固定填"wifiConnectionChange"字符串 | + | type | string | 是 | 固定填"wifiConnectionChange"字符串。 | | callback | Callback<number> | 是 | 状态改变回调函数。 | - 连接状态改变事件的枚举。 @@ -372,10 +940,16 @@ off(type: "wifiConnectionChange", callback?: Callback<number>): void 取消注册WLAN连接状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | type | string | 是 | 固定填"wifiConnectionChange"字符串 | + | type | string | 是 | 固定填"wifiConnectionChange"字符串。 | | callback | Callback<number> | 否 | 连接状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | @@ -385,10 +959,16 @@ on(type: "wifiScanStateChange", callback: Callback<number>): void 注册扫描状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | type | string | 是 | 固定填"wifiScanStateChange"字符串 | + | type | string | 是 | 固定填"wifiScanStateChange"字符串。 | | callback | Callback<number> | 是 | 状态改变回调函数。 | - 扫描状态改变事件的枚举。 @@ -404,11 +984,17 @@ off(type: "wifiScanStateChange", callback?: Callback<number>): void 取消注册扫描状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | -| type | string | 是 | 固定填"wifiScanStateChange"字符串 | +| type | string | 是 | 固定填"wifiScanStateChange"字符串。 | | callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | @@ -418,10 +1004,16 @@ on(type: "wifiRssiChange", callback: Callback<number>): void 注册RSSI状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | type | string | 是 | 固定填"wifiRssiChange"字符串 | + | type | string | 是 | 固定填"wifiRssiChange"字符串。 | | callback | Callback<number> | 是 | 状态改变回调函数,返回以dBm为单位的RSSI值。 | @@ -431,10 +1023,16 @@ off(type: "wifiRssiChange", callback?: Callback<number>): void 取消注册RSSI状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.STA + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | type | string | 是 | 固定填"wifiRssiChange"字符串 | + | type | string | 是 | 固定填"wifiRssiChange"字符串。 | | callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | @@ -444,10 +1042,16 @@ on(type: "hotspotStateChange", callback: Callback<number>): void 注册热点状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.AP + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | type | string | 是 | 固定填"hotspotStateChange"字符串 | + | type | string | 是 | 固定填"hotspotStateChange"字符串。 | | callback | Callback<number> | 是 | 状态改变回调函数。 | - 热点状态改变事件的枚举。 @@ -465,8 +1069,257 @@ off(type: "hotspotStateChange", callback?: Callback<number>): void 取消注册热点状态改变事件。 +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.AP + - 参数 | **参数名** | **类型** | **必填** | **说明** | | -------- | -------- | -------- | -------- | - | type | string | 是 | 固定填"hotspotStateChange"字符串 | + | type | string | 是 | 固定填"hotspotStateChange"字符串。 | | callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | + + +## wifi.on('p2pStateChange')8+ + +on(type: "p2pStateChange", callback: Callback<number>): void + +注册P2P开关状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pStateChange"字符串。 | + | callback | Callback<number> | 是 | 状态改变回调函数。 | + +- P2P状态改变事件的枚举。 + | **枚举值** | **说明** | + | -------- | -------- | + | 1 | 空闲。 | + | 2 | 打开中。 | + | 3 | 已打开。 | + | 4 | 关闭中。 | + | 5 | 已关闭。 | + +## wifi.off('p2pStateChange')8+ + +off(type: "p2pStateChange", callback?: Callback<number>): void + +取消注册P2P开关状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pStateChange"字符串。 | + | callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | + + + ## wifi.on('p2pConnectionChange')8+ + +on(type: "p2pConnectionChange", callback: Callback<WifiP2pLinkedInfo>): void + +注册P2P连接状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pConnectionChange"字符串。 | + | callback | Callback<[WifiP2pLinkedInfo](#WifiP2pLinkedInfo)> | 是 | 状态改变回调函数。 | + + +## wifi.off('p2pConnectionChange')8+ + +off(type: "p2pConnectionChange", callback?: Callback<WifiP2pLinkedInfo>): void + +取消注册P2P连接状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pConnectionChange"字符串。 | + | callback | Callback<[WifiP2pLinkedInfo](#WifiP2pLinkedInfo)> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | + + +## wifi.on('p2pDeviceChange')8+ + +on(type: "p2pDeviceChange", callback: Callback<WifiP2pDevice>): void + +注册P2P设备状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pDeviceChange"字符串。 | + | callback | Callback<[WifiP2pDevice](#WifiP2pDevice)> | 是 | 状态改变回调函数。 | + + +## wifi.off('p2pDeviceChange')8+ + +off(type: "p2pDeviceChange", callback?: Callback<WifiP2pDevice>): void + +取消注册P2P设备状态改变事件。 + +- 需要权限: + ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pDeviceChange"字符串。 | + | callback | Callback<[WifiP2pDevice](#WifiP2pDevice)> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | + + +## wifi.on('p2pPeerDeviceChange')8+ + +on(type: "p2pPeerDeviceChange", callback: Callback<WifiP2pDevice[]>): void + +注册P2P对端设备状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pPeerDeviceChange"字符串。 | + | callback | Callback<[WifiP2pDevice[]](#WifiP2pDevice)> | 是 | 状态改变回调函数。 | + + +## wifi.off('p2pPeerDeviceChange')8+ + +off(type: "p2pPeerDeviceChange", callback?: Callback<WifiP2pDevice[]>): void + +取消注册P2P对端设备状态改变事件。 + +- 需要权限: + ohos.permission.LOCATION + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pPeerDeviceChange"字符串。 | + | callback | Callback<[WifiP2pDevice[]](#WifiP2pDevice)> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | + + +## wifi.on('p2pPersistentGroupChange')8+ + +on(type: "p2pPersistentGroupChange", callback: Callback<void>): void + +注册P2P永久组状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pPersistentGroupChange"字符串。 | + | callback | Callback<void> | 是 | 状态改变回调函数。 | + + +## wifi.off('p2pPersistentGroupChange')8+ + +off(type: "p2pPersistentGroupChange", callback?: Callback<void>): void + +取消注册P2P永久组状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pPersistentGroupChange"字符串。 | + | callback | Callback<void> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | + + +## wifi.on('p2pDiscoveryChange')8+ + +on(type: "p2pDiscoveryChange", callback: Callback<number>): void + +注册发现设备状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pDiscoveryChange"字符串。 | + | callback | Callback<number> | 是 | 状态改变回调函数。 | + +- 发现设备状态改变事件的枚举。 + | **枚举值** | **说明** | + | -------- | -------- | + | 0 | 初始状态。 | + | 1 | 发现成功。 | + + +## wifi.off('p2pDiscoveryChange')8+ + +off(type: "p2pDiscoveryChange", callback?: Callback<number>): void + +取消注册发现设备状态改变事件。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.P2P + +- 参数 + | **参数名** | **类型** | **必填** | **说明** | + | -------- | -------- | -------- | -------- | + | type | string | 是 | 固定填"p2pDiscoveryChange"字符串。 | + | callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 | + diff --git a/zh-cn/application-dev/reference/apis/js-apis-wifiext.md b/zh-cn/application-dev/reference/apis/js-apis-wifiext.md new file mode 100755 index 0000000000..326ff5267e --- /dev/null +++ b/zh-cn/application-dev/reference/apis/js-apis-wifiext.md @@ -0,0 +1,153 @@ +# WLAN + +> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:** +> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 +该文档中的接口只供非通用类型产品使用,如路由器等,对于常规类型产品,不应该使用这些接口。 + + +## 导入模块 + +```js +import wifiext from '@ohos.wifiext'; +``` + +## wifiext.enableHotspot + +enableHotspot(): boolean; + +使能WLAN热点。 + +- 需要权限: + ohos.permission.MANAGE_WIFI_HOTSPOT_EXT + +- 系统能力: + SystemCapability.Communication.WiFi.HotspotExt + +- 返回值: + | **类型** | **说明** | + | -------- | -------- | + | boolean | 操作结果, true: 成功, false: 失败。 | + + +## wifiext.disableHotspot + +disableHotspot(): boolean; + +去使能WLAN热点。 + +- 需要权限: + ohos.permission.MANAGE_WIFI_HOTSPOT_EXT + +- 系统能力: + SystemCapability.Communication.WiFi.HotspotExt + +- 返回值: + | **类型** | **说明** | + | -------- | -------- | + | boolean | 操作结果, true: 成功, false: 失败。 | + + +## wifiext.getSupportedPowerModel + +getSupportedPowerModel(): Promise<Array<PowerModel>> + +获取支持的功率模式,使用promise方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.HotspotExt + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<Array<[PowerModel](#PowerModel)>> | 功率模式。 | + + +## PowerModel + +表示功率模式的枚举。 + +| 名称 | 默认值 | 说明 | +| -------- | -------- | -------- | +| SLEEPING | 0 | 睡眠模式。 | +| GENERAL | 1 | 常规模式。 | +| THROUGH_WALL | 2 | 穿墙模式。 | + + +## wifiext.getSupportedPowerModel + +getSupportedPowerModel(callback: AsyncCallback<Array<PowerModel>>): void + +获取支持的功率模式,使用callback方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.HotspotExt + +- 参数 + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | callback | AsyncCallback<[PowerModel](#PowerModel)> | 是 | 功率模式。 | + + +## wifiext.getPowerModel + +getPowerModel(): Promise<PowerModel> + +获取功率模式,使用promise方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.HotspotExt + +- 返回值: + | 类型 | 说明 | + | -------- | -------- | + | Promise<[PowerModel](#PowerModel)> | 功率模式。 | + + +## wifiext.getPowerModel + +getPowerModel(callback: AsyncCallback<PowerModel>): void + +获取功率模式,使用callback方式作为异步方法。 + +- 需要权限: + ohos.permission.GET_WIFI_INFO + +- 系统能力: + SystemCapability.Communication.WiFi.HotspotExt + +- 参数 + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | callback | AsyncCallback<[PowerModel](#PowerModel)> | 是 | 功率模式。 | + + +## wifiext.setPowerModel + +setPowerModel(model: PowerModel) : boolean; + + 设置功率模式。 + +- 需要权限: + ohos.permission.MANAGE_WIFI_HOTSPOT_EXT + +- 系统能力: + SystemCapability.Communication.WiFi.HotspotExt + +- 参数 + | 参数名 | 类型 | 必填 | 说明 | + | -------- | -------- | -------- | -------- | + | model | AsyncCallback<[PowerModel](#PowerModel)> | 是 | 功率模式。 | + +- 返回值: + | **类型** | **说明** | + | -------- | -------- | + | boolean | 操作结果, true: 成功, false: 失败。 | -- GitLab