WLAN
该模块主要提供WLAN基础功能、P2P(peer-to-peer)功能和WLAN消息通知的相应服务,让应用可以通过WLAN和其他设备互联互通。
本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
wifi.isWifiActive9+
isWifiActive(): boolean
查询WLAN是否已使能。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
返回值:
类型 | 说明 |
---|---|
boolean | true:已使能, false:未使能。 |
wifi.scan9+
scan(): void
启动WLAN扫描。
需要权限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.STA
返回值:
类型 | 说明 |
---|---|
boolean | true:扫描操作执行成功, false:扫描操作执行失败。 |
wifi.getScanResults9+
getScanResults(): Promise<Array<WifiScanInfo>>
获取扫描结果,使用Promise异步回调。
需要权限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)
系统能力: SystemCapability.Communication.WiFi.STA
返回值:
类型 | 说明 |
---|---|
Promise< Array<WifiScanInfo> > | Promise对象。返回扫描到的热点列表。 |
wifi.getScanResults9+
getScanResults(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>> | 是 | 回调函数。当成功时,err为0,data为扫描到的热点;否则err为非0值,data为空。 |
示例:
- import wifi from '@ohos.wifi';
- 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: " + 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: " + 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);
- }
- });
WifiScanInfo9+
WLAN热点信息。
系统能力: SystemCapability.Communication.WiFi.STA
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
ssid | string | 是 | 否 | 热点的SSID,编码格式为UTF-8。 |
bssid | string | 是 | 否 | 热点的BSSID。 |
capabilities | string | 是 | 否 | 热点能力。 |
securityType | 是 | 否 | WLAN加密类型。 | |
rssi | number | 是 | 否 | 热点的信号强度(dBm)。 |
band | number | 是 | 否 | WLAN接入点的频段。 |
frequency | number | 是 | 否 | WLAN接入点的频率。 |
channelWidth | number | 是 | 否 | WLAN接入点的带宽。 |
centerFrequency0 | number | 是 | 否 | 热点的中心频率。 |
centerFrequency1 | number | 是 | 否 | 热点的中心频率。如果热点使用两个不重叠的WLAN信道,则返回两个中心频率,分别用centerFrequency0和centerFrequency1表示。 |
infoElems | Array<WifiInfoElem> | 是 | 否 | 信息元素。 |
timestamp | number | 是 | 否 | 时间戳。 |
WifiSecurityType9+
表示加密类型的枚举。
系统能力: SystemCapability.Communication.WiFi.Core
名称 | 值 | 说明 |
---|---|---|
WIFI_SEC_TYPE_INVALID | 0 | 无效加密类型。 |
WIFI_SEC_TYPE_OPEN | 1 | 开放加密类型。 |
WIFI_SEC_TYPE_WEP | 2 | Wired Equivalent Privacy (WEP)加密类型。 |
WIFI_SEC_TYPE_PSK | 3 | Pre-shared key (PSK)加密类型。 |
WIFI_SEC_TYPE_SAE | 4 | Simultaneous Authentication of Equals (SAE)加密类型。 |
WIFI_SEC_TYPE_EAP9+ | 5 | EAP加密类型。 |
WIFI_SEC_TYPE_EAP_SUITE_B9+ | 6 | Suite-B 192位加密类型。 |
WIFI_SEC_TYPE_OWE9+ | 7 | 机会性无线加密类型。 |
WIFI_SEC_TYPE_WAPI_CERT9+ | 8 | WAPI-Cert加密类型。 |
WIFI_SEC_TYPE_WAPI_PSK9+ | 9 | WAPI-PSK加密类型。 |
WifiInfoElem9+
WLAN热点信息。
系统能力: SystemCapability.Communication.WiFi.STA
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
eid | number | 是 | 否 | 元素ID。 |
content | Uint8Array | 是 | 否 | 元素内容。 |
WifiChannelWidth9+
表示带宽类型的枚举。
系统能力: SystemCapability.Communication.WiFi.STA
名称 | 值 | 说明 |
---|---|---|
WIDTH_20MHZ | 0 | 20MHZ。 |
WIDTH_40MHZ | 1 | 40MHZ。 |
WIDTH_80MHZ | 2 | 80MHZ。 |
WIDTH_160MHZ | 3 | 160MHZ。 |
WIDTH_80MHZ_PLUS | 4 | 80MHZ+。 |
WIDTH_INVALID | 5 | 无效值 |
wifi.getScanResultsSync9+
getScanResultsSync(): Array<WifiScanInfo>
获取扫描结果,使用同步方式返回结果。
需要权限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)
系统能力: SystemCapability.Communication.WiFi.STA
返回值:
类型 | 说明 |
---|---|
Array<WifiScanInfo> | 扫描结果数组。 |
WifiDeviceConfig9+
WLAN配置信息。
系统能力: SystemCapability.Communication.WiFi.STA
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
ssid | string | 是 | 否 | 热点的SSID,编码格式为UTF-8。 |
bssid | string | 是 | 否 | 热点的BSSID。 |
preSharedKey | string | 是 | 否 | 热点的密钥。 |
isHiddenSsid | boolean | 是 | 否 | 是否是隐藏网络。 |
securityType | 是 | 否 | 加密类型。 |
wifi.addCandidateConfig9+
addCandidateConfig(config: WifiDeviceConfig): Promise<number>
添加候选网络配置,使用Promise异步回调。
需要权限: ohos.permission.SET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
config | 是 | WLAN配置信息。 |
返回值:
类型 | 说明 |
---|---|
Promise<number> | Promise对象。表示网络配置ID。 |
wifi.addCandidateConfig9+
addCandidateConfig(config: WifiDeviceConfig, callback: AsyncCallback<number>): void
添加候选网络配置,使用callback异步回调。
需要权限: ohos.permission.SET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
config | 是 | WLAN配置信息。 | |
callback | AsyncCallback<number> | 是 | 回调函数。当操作成功时,err为0,data为添加的网络配置ID,如果data值为-1,表示添加失败。如果操作出现错误,err为非0值。 |
wifi.removeCandidateConfig9+
removeCandidateConfig(networkId: number): Promise<void>
移除候选网络配置,使用Promise异步回调。
需要权限: ohos.permission.SET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
networkId | number | 是 | 网络配置ID。 |
返回值:
类型 | 说明 |
---|---|
Promise<void> | Promise对象。 |
wifi.removeCandidateConfig9+
removeCandidateConfig(networkId: number, callback: AsyncCallback<void>): void
移除候选网络配置,使用callback异步回调。
需要权限: ohos.permission.SET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
networkId | number | 是 | 网络配置ID。 |
callback | AsyncCallback<void> | 是 | 回调函数。当操作成功时,err为0。如果error为非0,表示处理出现错误。 |
wifi.getCandidateConfigs9+
getCandidateConfigs(): Array<WifiDeviceConfig>
获取候选网络配置。
需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.STA
返回值:
类型 | 说明 |
---|---|
Array<WifiDeviceConfig> | 候选网络配置数组。 |
wifi.connectToCandidateConfig9+
connectToCandidateConfig(networkId: number): void
连接到候选网络。
需要权限: ohos.permission.SET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
networkId | number | 是 | 候选网络配置的ID。 |
wifi.getSignalLevel9+
getSignalLevel(rssi: number, band: number): number
查询WLAN信号强度。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
rssi | number | 是 | 热点的信号强度(dBm)。 |
band | number | 是 | WLAN接入点的频段。 |
返回值:
类型 | 说明 |
---|---|
number | 信号强度,取值范围为[0, 4]。 |
wifi.getLinkedInfo9+
getLinkedInfo(): Promise<WifiLinkedInfo>
获取WLAN连接信息,使用Promise异步回调。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
返回值:
类型 | 说明 |
---|---|
Promise<WifiLinkedInfo> | Promise对象。表示WLAN连接信息。 |
wifi.getLinkedInfo9+
getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void
获取WLAN连接信息,使用callback异步回调。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<WifiLinkedInfo> | 是 | 回调函数。当获取成功时,err为0,data表示WLAN连接信息。如果error为非0,表示处理出现错误。 |
示例:
- import wifi from '@ohos.wifi';
- 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: " + JSON.stringify(data));
- }).catch(error => {
- console.info("get linked info error");
- });
WifiLinkedInfo9+
提供WLAN连接的相关信息。
系统能力: SystemCapability.Communication.WiFi.STA
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
ssid | string | 是 | 否 | 热点的SSID,编码格式为UTF-8。 |
bssid | string | 是 | 否 | 热点的BSSID。 |
rssi | number | 是 | 否 | 热点的信号强度(dBm)。 |
band | number | 是 | 否 | WLAN接入点的频段。 |
linkSpeed | number | 是 | 否 | WLAN接入点的速度。 |
frequency | number | 是 | 否 | WLAN接入点的频率。 |
isHidden | boolean | 是 | 否 | WLAN接入点是否是隐藏网络。 |
isRestricted | boolean | 是 | 否 | WLAN接入点是否限制数据量。 |
macType9+ | number | 是 | 否 | MAC地址类型。 |
macAddress | string | 是 | 否 | 设备的MAC地址。 |
ipAddress | number | 是 | 否 | WLAN连接的IP地址。 |
connState | 是 | 否 | WLAN连接状态。 |
ConnState9+
表示WLAN连接状态的枚举。
系统能力: SystemCapability.Communication.WiFi.STA
名称 | 值 | 说明 |
---|---|---|
SCANNING | 0 | 设备正在搜索可用的AP。 |
CONNECTING | 1 | 正在建立WLAN连接。 |
AUTHENTICATING | 2 | WLAN连接正在认证中。 |
OBTAINING_IPADDR | 3 | 正在获取WLAN连接的IP地址。 |
CONNECTED | 4 | WLAN连接已建立。 |
DISCONNECTING | 5 | WLAN连接正在断开。 |
DISCONNECTED | 6 | WLAN连接已断开。 |
UNKNOWN | 7 | WLAN连接建立失败。 |
wifi.isConnected9+
isConnected(): boolean
查询WLAN是否已连接。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
返回值:
类型 | 说明 |
---|---|
boolean | true:已连接, false:未连接。 |
wifi.isFeatureSupported9+
isFeatureSupported(featureId: number): boolean
判断设备是否支持相关WLAN特性。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
featureId | number | 是 | 特性ID值。 |
返回值:
类型 | 说明 |
---|---|
boolean | true:支持, false:不支持。 |
wifi.getIpInfo9+
getIpInfo(): IpInfo
获取IP信息。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
返回值:
类型 | 说明 |
---|---|
IP信息。 |
IpInfo9+
IP信息。
系统能力: SystemCapability.Communication.WiFi.STA
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
ipAddress | number | 是 | 否 | IP地址。 |
gateway | number | 是 | 否 | 网关。 |
netmask | number | 是 | 否 | 掩码。 |
primaryDns | number | 是 | 否 | 主DNS服务器IP地址。 |
secondDns | number | 是 | 否 | 备DNS服务器IP地址。 |
serverIp | number | 是 | 否 | DHCP服务端IP地址。 |
leaseDuration | number | 是 | 否 | IP地址租用时长。 |
wifi.getCountryCode9+
getCountryCode(): string
获取国家码信息。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.Core
返回值:
类型 | 说明 |
---|---|
string | 国家码。 |
wifi.getP2pLinkedInfo9+
getP2pLinkedInfo(): Promise<WifiP2pLinkedInfo>
获取P2P连接信息,使用Promise异步回调。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.P2P
返回值:
类型 | 说明 |
---|---|
Promise<WifiP2pLinkedInfo> | Promise对象。表示P2P连接信息。 |
WifiP2pLinkedInfo9+
提供WLAN连接的相关信息。
系统能力: SystemCapability.Communication.WiFi.P2P
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
connectState | 是 | 否 | P2P连接状态。 | |
isGroupOwner | boolean | 是 | 否 | 是否是群主。 |
groupOwnerAddr | string | 是 | 否 | 群组MAC地址。 |
P2pConnectState9+
表示P2P连接状态的枚举。
系统能力: SystemCapability.Communication.WiFi.P2P
名称 | 值 | 说明 |
---|---|---|
DISCONNECTED | 0 | 断开状态。 |
CONNECTED | 1 | 连接状态。 |
wifi.getP2pLinkedInfo9+
getP2pLinkedInfo(callback: AsyncCallback<WifiP2pLinkedInfo>): void
获取P2P连接信息,使用callback异步回调。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<WifiP2pLinkedInfo> | 是 | 回调函数。当操作成功时,err为0,data表示P2P连接信息。如果error为非0,表示处理出现错误。 |
wifi.getCurrentGroup9+
getCurrentGroup(): Promise<WifiP2pGroupInfo>
获取P2P当前组信息,使用Promise异步回调。
需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.P2P
返回值:
类型 | 说明 |
---|---|
Promise<WifiP2pGroupInfo> | Promise对象。表示当前组信息。 |
wifi.getCurrentGroup9+
getCurrentGroup(callback: AsyncCallback<WifiP2pGroupInfo>): void
获取P2P当前组信息,使用callback异步回调。
需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<WifiP2pGroupInfo> | 是 | 回调函数。当操作成功时,err为0,data表示当前组信息。如果error为非0,表示处理出现错误。 |
wifi.getP2pPeerDevices9+
getP2pPeerDevices(): Promise<WifiP2pDevice[]>
获取P2P对端设备列表信息,使用Promise异步回调。
需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.P2P
返回值:
类型 | 说明 |
---|---|
Promise<WifiP2pDevice[]> | Promise对象。表示对端设备列表信息。 |
wifi.getP2pPeerDevices9+
getP2pPeerDevices(callback: AsyncCallback<WifiP2pDevice[]>): void
获取P2P对端设备列表信息,使用callback异步回调。
需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<WifiP2pDevice[]> | 是 | 回调函数。当操作成功时,err为0,data表示对端设备列表信息。如果error为非0,表示处理出现错误。 |
WifiP2pDevice9+
表示P2P设备信息。
系统能力: SystemCapability.Communication.WiFi.P2P
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
deviceName | string | 是 | 否 | 设备名称。 |
deviceAddress | string | 是 | 否 | 设备MAC地址。 |
primaryDeviceType | string | 是 | 否 | 主设备类型。 |
deviceStatus | 是 | 否 | 设备状态。 | |
groupCapabilities | number | 是 | 否 | 群组能力。 |
P2pDeviceStatus9+
表示设备状态的枚举。
系统能力: SystemCapability.Communication.WiFi.P2P
名称 | 值 | 说明 |
---|---|---|
CONNECTED | 0 | 连接状态。 |
INVITED | 1 | 邀请状态。 |
FAILED | 2 | 失败状态。 |
AVAILABLE | 3 | 可用状态。 |
UNAVAILABLE | 4 | 不可用状态。 |
wifi.getP2pLocalDevice9+
getP2pLocalDevice(): Promise<WifiP2pDevice>
获取P2P本端设备信息,使用Promise异步回调。
需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.GET_WIFI_CONFIG
系统能力: SystemCapability.Communication.WiFi.P2P
返回值:
类型 | 说明 |
---|---|
Promise<WifiP2pDevice> | Promise对象。表示本端设备信息。 |
wifi.getP2pLocalDevice9+
getP2pLocalDevice(callback: AsyncCallback<WifiP2pDevice>): void
获取P2P本端设备信息,使用callback异步回调。
需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.GET_WIFI_CONFIG
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<WifiP2pDevice> | 是 | 回调函数。当操作成功时,err为0,data表示本端设备信息。如果error为非0,表示处理出现错误。 |
wifi.createGroup9+
createGroup(config: WifiP2PConfig): void
创建群组。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
config | 是 | 群组配置信息。 |
返回值:
类型 | 说明 |
---|---|
boolean | true:创建群组操作执行成功, false:创建群组操作执行失败。 |
WifiP2PConfig9+
表示P2P配置信息。
系统能力: SystemCapability.Communication.WiFi.P2P
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
deviceAddress | string | 是 | 否 | 设备地址。 |
netId | number | 是 | 否 | 网络ID。创建群组时-1表示创建临时组,-2表示创建永久组。 |
passphrase | string | 是 | 否 | 群组密钥。 |
groupName | string | 是 | 否 | 群组名称。 |
goBand | 是 | 否 | 群组带宽。 |
GroupOwnerBand9+
表示群组带宽的枚举。
系统能力: SystemCapability.Communication.WiFi.P2P
名称 | 值 | 说明 |
---|---|---|
GO_BAND_AUTO | 0 | 自动模式。 |
GO_BAND_2GHZ | 1 | 2GHZ。 |
GO_BAND_5GHZ | 2 | 5GHZ。 |
wifi.removeGroup9+
removeGroup(): void
移除群组。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.P2P
返回值:
类型 | 说明 |
---|---|
boolean | true:操作执行成功, false:操作执行失败。 |
wifi.p2pConnect9+
p2pConnect(config: WifiP2PConfig): void
执行P2P连接。
需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
config | 是 | 连接配置信息。 |
返回值:
类型 | 说明 |
---|---|
boolean | true:操作执行成功, false:操作执行失败。 |
示例:
- 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 = () => {
- 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.p2pCancelConnect9+
p2pCancelConnect(): void
取消P2P连接。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.P2P
返回值:
类型 | 说明 |
---|---|
boolean | true:操作执行成功, false:操作执行失败。 |
wifi.startDiscoverDevices9+
startDiscoverDevices(): void
开始发现设备。
需要权限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.P2P
返回值:
类型 | 说明 |
---|---|
boolean | true:操作执行成功, false:操作执行失败。 |
wifi.stopDiscoverDevices9+
stopDiscoverDevices(): void
停止发现设备。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.P2P
返回值:
类型 | 说明 |
---|---|
boolean | true:操作执行成功,操作执行失败。 |
WifiP2pGroupInfo9+
表示P2P群组相关信息。
系统能力: SystemCapability.Communication.WiFi.P2P
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
isP2pGo | boolean | 是 | 否 | 是否是群主。 |
ownerInfo | 是 | 否 | 群组的设备信息。 | |
passphrase | string | 是 | 否 | 群组密钥。 |
interface | string | 是 | 否 | 接口名称。 |
groupName | string | 是 | 否 | 群组名称。 |
networkId | number | 是 | 否 | 网络ID。 |
frequency | number | 是 | 否 | 群组的频率。 |
clientDevices | 是 | 否 | 接入的设备列表信息。 | |
goIpAddress | string | 是 | 否 | 群组IP地址。 |
wifi.on('wifiStateChange')9+
on(type: "wifiStateChange", callback: Callback<number>): void
注册WLAN状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"wifiStateChange"字符串。 |
callback | Callback<number> | 是 | 状态改变回调函数。 |
状态改变事件的枚举:
枚举值 | 说明 |
---|---|
0 | 未激活。 |
1 | 已激活。 |
2 | 激活中。 |
3 | 去激活中。 |
wifi.off('wifiStateChange')9+
off(type: "wifiStateChange", callback?: Callback<number>): void
取消注册WLAN状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"wifiStateChange"字符串。 |
callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
示例:
- import wifi from '@ohos.wifi';
- var recvPowerNotifyFunc = result => {
- console.info("Receive power state change event: " + result);
- }
- // Register event
- wifi.on("wifiStateChange", recvPowerNotifyFunc);
- // Unregister event
- wifi.off("wifiStateChange", recvPowerNotifyFunc);
wifi.on('wifiConnectionChange')9+
on(type: "wifiConnectionChange", callback: Callback<number>): void
注册WLAN连接状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"wifiConnectionChange"字符串。 |
callback | Callback<number> | 是 | 状态改变回调函数。 |
连接状态改变事件的枚举:
枚举值 | 说明 |
---|---|
0 | 已断开。 |
1 | 已连接。 |
wifi.off('wifiConnectionChange')9+
off(type: "wifiConnectionChange", callback?: Callback<number>): void
取消注册WLAN连接状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"wifiConnectionChange"字符串。 |
callback | Callback<number> | 否 | 连接状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
wifi.on('wifiScanStateChange')9+
on(type: "wifiScanStateChange", callback: Callback<number>): void
注册扫描状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"wifiScanStateChange"字符串。 |
callback | Callback<number> | 是 | 状态改变回调函数。 |
扫描状态改变事件的枚举:
枚举值 | 说明 |
---|---|
0 | 扫描失败。 |
1 | 扫描成功。 |
wifi.off('wifiScanStateChange')9+
off(type: "wifiScanStateChange", callback?: Callback<number>): void
取消注册扫描状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"wifiScanStateChange"字符串。 |
callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
wifi.on('wifiRssiChange')9+
on(type: "wifiRssiChange", callback: Callback<number>): void
注册RSSI状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"wifiRssiChange"字符串。 |
callback | Callback<number> | 是 | 状态改变回调函数,返回以dBm为单位的RSSI值。 |
wifi.off('wifiRssiChange')9+
off(type: "wifiRssiChange", callback?: Callback<number>): void
取消注册RSSI状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.STA
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"wifiRssiChange"字符串。 |
callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
wifi.on('hotspotStateChange')9+
on(type: "hotspotStateChange", callback: Callback<number>): void
注册热点状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.AP.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"hotspotStateChange"字符串。 |
callback | Callback<number> | 是 | 状态改变回调函数。 |
热点状态改变事件的枚举:
枚举值 | 说明 |
---|---|
0 | 未激活。 |
1 | 已激活。 |
2 | 激活中。 |
3 | 去激活中。 |
wifi.off('hotspotStateChange')9+
off(type: "hotspotStateChange", callback?: Callback<number>): void
取消注册热点状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.AP.Core
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"hotspotStateChange"字符串。 |
callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
wifi.on('p2pStateChange')9+
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')9+
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')9+
on(type: "p2pConnectionChange", callback: Callback<WifiP2pLinkedInfo>): void
注册P2P连接状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"p2pConnectionChange"字符串。 |
callback | Callback<WifiP2pLinkedInfo> | 是 | 状态改变回调函数。 |
wifi.off('p2pConnectionChange')9+
off(type: "p2pConnectionChange", callback?: Callback<WifiP2pLinkedInfo>): void
取消注册P2P连接状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"p2pConnectionChange"字符串。 |
callback | Callback<WifiP2pLinkedInfo> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
wifi.on('p2pDeviceChange')9+
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> | 是 | 状态改变回调函数。 |
wifi.off('p2pDeviceChange')9+
off(type: "p2pDeviceChange", callback?: Callback<WifiP2pDevice>): void
取消注册P2P设备状态改变事件。
需要权限: ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"p2pDeviceChange"字符串。 |
callback | Callback<WifiP2pDevice> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
wifi.on('p2pPeerDeviceChange')9+
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[]> | 是 | 状态改变回调函数。 |
wifi.off('p2pPeerDeviceChange')9+
off(type: "p2pPeerDeviceChange", callback?: Callback<WifiP2pDevice[]>): void
取消注册P2P对端设备状态改变事件。
需要权限: ohos.permission.LOCATION
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"p2pPeerDeviceChange"字符串。 |
callback | Callback<WifiP2pDevice[]> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
wifi.on('p2pPersistentGroupChange')9+
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')9+
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')9+
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')9+
off(type: "p2pDiscoveryChange", callback?: Callback<number>): void
取消注册发现设备状态改变事件。
需要权限: ohos.permission.GET_WIFI_INFO
系统能力: SystemCapability.Communication.WiFi.P2P
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 固定填"p2pDiscoveryChange"字符串。 |
callback | Callback<number> | 否 | 状态改变回调函数。如果callback不填,将去注册该事件关联的所有回调函数。 |
更多建议: