WLAN

2024-01-23 17:03 更新

該模塊主要提供WLAN基礎(chǔ)功能、P2P(peer-to-peer)功能和WLAN消息通知的相應(yīng)服務(wù),讓應(yīng)用可以通過WLAN和其他設(shè)備互聯(lián)互通。

說明

本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

  1. import wifiManager from '@ohos.wifiManager';

wifi.isWifiActive9+

isWifiActive(): boolean

查詢WLAN是否已使能。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

返回值:

類型

說明

boolean

true:已使能, false:未使能。

wifi.scan9+

scan(): void

啟動(dòng)WLAN掃描。

需要權(quán)限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

返回值:

類型

說明

boolean

true:掃描操作執(zhí)行成功, false:掃描操作執(zhí)行失敗。

wifi.getScanResults9+

getScanResults(): Promise<Array<WifiScanInfo>>

獲取掃描結(jié)果,使用Promise異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

返回值:

類型

說明

Promise< Array<WifiScanInfo> >

Promise對(duì)象。返回掃描到的熱點(diǎn)列表。

wifi.getScanResults9+

getScanResults(callback: AsyncCallback<Array<WifiScanInfo>>): void

獲取掃描結(jié)果,使用callback異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback< Array<WifiScanInfo>>

回調(diào)函數(shù)。當(dāng)成功時(shí),err為0,data為掃描到的熱點(diǎn);否則err為非0值,data為空。

示例:

  1. import wifi from '@ohos.wifi';
  2. wifi.getScanInfos((err, result) => {
  3. if (err) {
  4. console.error("get scan info error");
  5. return;
  6. }
  7. var len = Object.keys(result).length;
  8. console.log("wifi received scan info: " + len);
  9. for (var i = 0; i < len; ++i) {
  10. console.info("ssid: " + result[i].ssid);
  11. console.info("bssid: " + result[i].bssid);
  12. console.info("capabilities: " + result[i].capabilities);
  13. console.info("securityType: " + result[i].securityType);
  14. console.info("rssi: " + result[i].rssi);
  15. console.info("band: " + result[i].band);
  16. console.info("frequency: " + result[i].frequency);
  17. console.info("channelWidth: " + result[i].channelWidth);
  18. console.info("timestamp: " + result[i].timestamp);
  19. }
  20. });
  21. wifi.getScanInfos().then(result => {
  22. var len = Object.keys(result).length;
  23. console.log("wifi received scan info: " + len);
  24. for (var i = 0; i < len; ++i) {
  25. console.info("ssid: " + result[i].ssid);
  26. console.info("bssid: " + result[i].bssid);
  27. console.info("capabilities: " + result[i].capabilities);
  28. console.info("securityType: " + result[i].securityType);
  29. console.info("rssi: " + result[i].rssi);
  30. console.info("band: " + result[i].band);
  31. console.info("frequency: " + result[i].frequency);
  32. console.info("channelWidth: " + result[i].channelWidth);
  33. console.info("timestamp: " + result[i].timestamp);
  34. }
  35. });

WifiScanInfo9+

WLAN熱點(diǎn)信息。

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

名稱

類型

可讀

可寫

說明

ssid

string

熱點(diǎn)的SSID,編碼格式為UTF-8。

bssid

string

熱點(diǎn)的BSSID。

capabilities

string

熱點(diǎn)能力。

securityType

WifiSecurityType

WLAN加密類型。

rssi

number

熱點(diǎn)的信號(hào)強(qiáng)度(dBm)。

band

number

WLAN接入點(diǎn)的頻段。

frequency

number

WLAN接入點(diǎn)的頻率。

channelWidth

number

WLAN接入點(diǎn)的帶寬。

centerFrequency0

number

熱點(diǎn)的中心頻率。

centerFrequency1

number

熱點(diǎn)的中心頻率。如果熱點(diǎn)使用兩個(gè)不重疊的WLAN信道,則返回兩個(gè)中心頻率,分別用centerFrequency0和centerFrequency1表示。

infoElems

Array<WifiInfoElem>

信息元素。

timestamp

number

時(shí)間戳。

WifiSecurityType9+

表示加密類型的枚舉。

系統(tǒng)能力: 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

機(jī)會(huì)性無線加密類型。

WIFI_SEC_TYPE_WAPI_CERT9+

8

WAPI-Cert加密類型。

WIFI_SEC_TYPE_WAPI_PSK9+

9

WAPI-PSK加密類型。

WifiInfoElem9+

WLAN熱點(diǎn)信息。

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

名稱

類型

可讀

可寫

說明

eid

number

元素ID。

content

Uint8Array

元素內(nèi)容。

WifiChannelWidth9+

表示帶寬類型的枚舉。

系統(tǒng)能力: 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>

獲取掃描結(jié)果,使用同步方式返回結(jié)果。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

返回值:

類型

說明

Array<WifiScanInfo>

掃描結(jié)果數(shù)組。

WifiDeviceConfig9+

WLAN配置信息。

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

名稱

類型

可讀

可寫

說明

ssid

string

熱點(diǎn)的SSID,編碼格式為UTF-8。

bssid

string

熱點(diǎn)的BSSID。

preSharedKey

string

熱點(diǎn)的密鑰。

isHiddenSsid

boolean

是否是隱藏網(wǎng)絡(luò)。

securityType

WifiSecurityType

加密類型。

wifi.addCandidateConfig9+

addCandidateConfig(config: WifiDeviceConfig): Promise<number>

添加候選網(wǎng)絡(luò)配置,使用Promise異步回調(diào)。

需要權(quán)限: ohos.permission.SET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

config

WifiDeviceConfig

WLAN配置信息。

返回值:

類型

說明

Promise<number>

Promise對(duì)象。表示網(wǎng)絡(luò)配置ID。

wifi.addCandidateConfig9+

addCandidateConfig(config: WifiDeviceConfig, callback: AsyncCallback<number>): void

添加候選網(wǎng)絡(luò)配置,使用callback異步回調(diào)。

需要權(quán)限: ohos.permission.SET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

config

WifiDeviceConfig

WLAN配置信息。

callback

AsyncCallback<number>

回調(diào)函數(shù)。當(dāng)操作成功時(shí),err為0,data為添加的網(wǎng)絡(luò)配置ID,如果data值為-1,表示添加失敗。如果操作出現(xiàn)錯(cuò)誤,err為非0值。

wifi.removeCandidateConfig9+

removeCandidateConfig(networkId: number): Promise<void>

移除候選網(wǎng)絡(luò)配置,使用Promise異步回調(diào)。

需要權(quán)限: ohos.permission.SET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

networkId

number

網(wǎng)絡(luò)配置ID。

返回值:

類型

說明

Promise<void>

Promise對(duì)象。

wifi.removeCandidateConfig9+

removeCandidateConfig(networkId: number, callback: AsyncCallback<void>): void

移除候選網(wǎng)絡(luò)配置,使用callback異步回調(diào)。

需要權(quán)限: ohos.permission.SET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

networkId

number

網(wǎng)絡(luò)配置ID。

callback

AsyncCallback<void>

回調(diào)函數(shù)。當(dāng)操作成功時(shí),err為0。如果error為非0,表示處理出現(xiàn)錯(cuò)誤。

wifi.getCandidateConfigs9+

getCandidateConfigs(): Array<WifiDeviceConfig>

獲取候選網(wǎng)絡(luò)配置。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

返回值:

類型

說明

Array<WifiDeviceConfig>

候選網(wǎng)絡(luò)配置數(shù)組。

wifi.connectToCandidateConfig9+

connectToCandidateConfig(networkId: number): void

連接到候選網(wǎng)絡(luò)。

需要權(quán)限: ohos.permission.SET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

networkId

number

候選網(wǎng)絡(luò)配置的ID。

wifi.getSignalLevel9+

getSignalLevel(rssi: number, band: number): number

查詢WLAN信號(hào)強(qiáng)度。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

rssi

number

熱點(diǎn)的信號(hào)強(qiáng)度(dBm)。

band

number

WLAN接入點(diǎn)的頻段。

返回值:

類型

說明

number

信號(hào)強(qiáng)度,取值范圍為[0, 4]。

wifi.getLinkedInfo9+

getLinkedInfo(): Promise<WifiLinkedInfo>

獲取WLAN連接信息,使用Promise異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

返回值:

類型

說明

Promise<WifiLinkedInfo>

Promise對(duì)象。表示W(wǎng)LAN連接信息。

wifi.getLinkedInfo9+

getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void

獲取WLAN連接信息,使用callback異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<WifiLinkedInfo>

回調(diào)函數(shù)。當(dāng)獲取成功時(shí),err為0,data表示W(wǎng)LAN連接信息。如果error為非0,表示處理出現(xiàn)錯(cuò)誤。

示例:

  1. import wifi from '@ohos.wifi';
  2. wifi.getLinkedInfo((err, data) => {
  3. if (err) {
  4. console.error("get linked info error");
  5. return;
  6. }
  7. console.info("get wifi linked info: " + JSON.stringify(data));
  8. });
  9. wifi.getLinkedInfo().then(data => {
  10. console.info("get wifi linked info: " + JSON.stringify(data));
  11. }).catch(error => {
  12. console.info("get linked info error");
  13. });

WifiLinkedInfo9+

提供WLAN連接的相關(guān)信息。

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

名稱

類型

可讀

可寫

說明

ssid

string

熱點(diǎn)的SSID,編碼格式為UTF-8。

bssid

string

熱點(diǎn)的BSSID。

rssi

number

熱點(diǎn)的信號(hào)強(qiáng)度(dBm)。

band

number

WLAN接入點(diǎn)的頻段。

linkSpeed

number

WLAN接入點(diǎn)的速度。

frequency

number

WLAN接入點(diǎn)的頻率。

isHidden

boolean

WLAN接入點(diǎn)是否是隱藏網(wǎng)絡(luò)。

isRestricted

boolean

WLAN接入點(diǎn)是否限制數(shù)據(jù)量。

macType9+

number

MAC地址類型。

macAddress

string

設(shè)備的MAC地址。

ipAddress

number

WLAN連接的IP地址。

connState

ConnState

WLAN連接狀態(tài)。

ConnState9+

表示W(wǎng)LAN連接狀態(tài)的枚舉。

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

名稱

說明

SCANNING

0

設(shè)備正在搜索可用的AP。

CONNECTING

1

正在建立WLAN連接。

AUTHENTICATING

2

WLAN連接正在認(rèn)證中。

OBTAINING_IPADDR

3

正在獲取WLAN連接的IP地址。

CONNECTED

4

WLAN連接已建立。

DISCONNECTING

5

WLAN連接正在斷開。

DISCONNECTED

6

WLAN連接已斷開。

UNKNOWN

7

WLAN連接建立失敗。

wifi.isConnected9+

isConnected(): boolean

查詢WLAN是否已連接。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

返回值:

類型

說明

boolean

true:已連接, false:未連接。

wifi.isFeatureSupported9+

isFeatureSupported(featureId: number): boolean

判斷設(shè)備是否支持相關(guān)WLAN特性。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.Core

參數(shù):

參數(shù)名

類型

必填

說明

featureId

number

特性ID值。

返回值:

類型

說明

boolean

true:支持, false:不支持。

wifi.getIpInfo9+

getIpInfo(): IpInfo

獲取IP信息。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

返回值:

類型

說明

IpInfo

IP信息。

IpInfo9+

IP信息。

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

名稱

類型

可讀

可寫

說明

ipAddress

number

IP地址。

gateway

number

網(wǎng)關(guān)。

netmask

number

掩碼。

primaryDns

number

主DNS服務(wù)器IP地址。

secondDns

number

備DNS服務(wù)器IP地址。

serverIp

number

DHCP服務(wù)端IP地址。

leaseDuration

number

IP地址租用時(shí)長(zhǎng)。

wifi.getCountryCode9+

getCountryCode(): string

獲取國家碼信息。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.Core

返回值:

類型

說明

string

國家碼。

wifi.getP2pLinkedInfo9+

getP2pLinkedInfo(): Promise<WifiP2pLinkedInfo>

獲取P2P連接信息,使用Promise異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

返回值:

類型

說明

Promise<WifiP2pLinkedInfo>

Promise對(duì)象。表示P2P連接信息。

WifiP2pLinkedInfo9+

提供WLAN連接的相關(guān)信息。

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

名稱

類型

可讀

可寫

說明

connectState

P2pConnectState

P2P連接狀態(tài)。

isGroupOwner

boolean

是否是群主。

groupOwnerAddr

string

群組MAC地址。

P2pConnectState9+

表示P2P連接狀態(tài)的枚舉。

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

名稱

說明

DISCONNECTED

0

斷開狀態(tài)。

CONNECTED

1

連接狀態(tài)。

wifi.getP2pLinkedInfo9+

getP2pLinkedInfo(callback: AsyncCallback<WifiP2pLinkedInfo>): void

獲取P2P連接信息,使用callback異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<WifiP2pLinkedInfo>

回調(diào)函數(shù)。當(dāng)操作成功時(shí),err為0,data表示P2P連接信息。如果error為非0,表示處理出現(xiàn)錯(cuò)誤。

wifi.getCurrentGroup9+

getCurrentGroup(): Promise<WifiP2pGroupInfo>

獲取P2P當(dāng)前組信息,使用Promise異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

返回值:

類型

說明

Promise<WifiP2pGroupInfo>

Promise對(duì)象。表示當(dāng)前組信息。

wifi.getCurrentGroup9+

getCurrentGroup(callback: AsyncCallback<WifiP2pGroupInfo>): void

獲取P2P當(dāng)前組信息,使用callback異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<WifiP2pGroupInfo>

回調(diào)函數(shù)。當(dāng)操作成功時(shí),err為0,data表示當(dāng)前組信息。如果error為非0,表示處理出現(xiàn)錯(cuò)誤。

wifi.getP2pPeerDevices9+

getP2pPeerDevices(): Promise<WifiP2pDevice[]>

獲取P2P對(duì)端設(shè)備列表信息,使用Promise異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

返回值:

類型

說明

Promise<WifiP2pDevice[]>

Promise對(duì)象。表示對(duì)端設(shè)備列表信息。

wifi.getP2pPeerDevices9+

getP2pPeerDevices(callback: AsyncCallback<WifiP2pDevice[]>): void

獲取P2P對(duì)端設(shè)備列表信息,使用callback異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<WifiP2pDevice[]>

回調(diào)函數(shù)。當(dāng)操作成功時(shí),err為0,data表示對(duì)端設(shè)備列表信息。如果error為非0,表示處理出現(xiàn)錯(cuò)誤。

WifiP2pDevice9+

表示P2P設(shè)備信息。

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

名稱

類型

可讀

可寫

說明

deviceName

string

設(shè)備名稱。

deviceAddress

string

設(shè)備MAC地址。

primaryDeviceType

string

主設(shè)備類型。

deviceStatus

P2pDeviceStatus

設(shè)備狀態(tài)。

groupCapabilities

number

群組能力。

P2pDeviceStatus9+

表示設(shè)備狀態(tài)的枚舉。

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

名稱

說明

CONNECTED

0

連接狀態(tài)。

INVITED

1

邀請(qǐng)狀態(tài)。

FAILED

2

失敗狀態(tài)。

AVAILABLE

3

可用狀態(tài)。

UNAVAILABLE

4

不可用狀態(tài)。

wifi.getP2pLocalDevice9+

getP2pLocalDevice(): Promise<WifiP2pDevice>

獲取P2P本端設(shè)備信息,使用Promise異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.GET_WIFI_CONFIG

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

返回值:

類型

說明

Promise<WifiP2pDevice>

Promise對(duì)象。表示本端設(shè)備信息。

wifi.getP2pLocalDevice9+

getP2pLocalDevice(callback: AsyncCallback<WifiP2pDevice>): void

獲取P2P本端設(shè)備信息,使用callback異步回調(diào)。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.GET_WIFI_CONFIG

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<WifiP2pDevice>

回調(diào)函數(shù)。當(dāng)操作成功時(shí),err為0,data表示本端設(shè)備信息。如果error為非0,表示處理出現(xiàn)錯(cuò)誤。

wifi.createGroup9+

createGroup(config: WifiP2PConfig): void

創(chuàng)建群組。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

config

WifiP2PConfig

群組配置信息。

返回值:

類型

說明

boolean

true:創(chuàng)建群組操作執(zhí)行成功, false:創(chuàng)建群組操作執(zhí)行失敗。

WifiP2PConfig9+

表示P2P配置信息。

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

名稱

類型

可讀

可寫

說明

deviceAddress

string

設(shè)備地址。

netId

number

網(wǎng)絡(luò)ID。創(chuàng)建群組時(shí)-1表示創(chuàng)建臨時(shí)組,-2表示創(chuàng)建永久組。

passphrase

string

群組密鑰。

groupName

string

群組名稱。

goBand

GroupOwnerBand

群組帶寬。

GroupOwnerBand9+

表示群組帶寬的枚舉。

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

名稱

說明

GO_BAND_AUTO

0

自動(dòng)模式。

GO_BAND_2GHZ

1

2GHZ。

GO_BAND_5GHZ

2

5GHZ。

wifi.removeGroup9+

removeGroup(): void

移除群組。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

返回值:

類型

說明

boolean

true:操作執(zhí)行成功, false:操作執(zhí)行失敗。

wifi.p2pConnect9+

p2pConnect(config: WifiP2PConfig): void

執(zhí)行P2P連接。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

config

WifiP2PConfig

連接配置信息。

返回值:

類型

說明

boolean

true:操作執(zhí)行成功, false:操作執(zhí)行失敗。

示例:

  1. import wifi from '@ohos.wifi';
  2. var recvP2pConnectionChangeFunc = result => {
  3. console.info("p2p connection change receive event: " + JSON.stringify(result));
  4. wifi.getP2pLinkedInfo((err, data) => {
  5. if (err) {
  6. console.error('failed to get getP2pLinkedInfo: ' + JSON.stringify(err));
  7. return;
  8. }
  9. console.info("get getP2pLinkedInfo: " + JSON.stringify(data));
  10. });
  11. }
  12. wifi.on("p2pConnectionChange", recvP2pConnectionChangeFunc);
  13. var recvP2pDeviceChangeFunc = result => {
  14. console.info("p2p device change receive event: " + JSON.stringify(result));
  15. }
  16. wifi.on("p2pDeviceChange", recvP2pDeviceChangeFunc);
  17. var recvP2pPeerDeviceChangeFunc = result => {
  18. console.info("p2p peer device change receive event: " + JSON.stringify(result));
  19. wifi.getP2pPeerDevices((err, data) => {
  20. if (err) {
  21. console.error('failed to get peer devices: ' + JSON.stringify(err));
  22. return;
  23. }
  24. console.info("get peer devices: " + JSON.stringify(data));
  25. var len = Object.keys(data).length;
  26. for (var i = 0; i < len; ++i) {
  27. if (data[i].deviceName === "my_test_device") {
  28. console.info("p2p connect to test device: " + data[i].deviceAddress);
  29. var config = {
  30. "deviceAddress":data[i].deviceAddress,
  31. "netId":-2,
  32. "passphrase":"",
  33. "groupName":"",
  34. "goBand":0,
  35. }
  36. wifi.p2pConnect(config);
  37. }
  38. }
  39. });
  40. }
  41. wifi.on("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);
  42. var recvP2pPersistentGroupChangeFunc = () => {
  43. console.info("p2p persistent group change receive event");
  44. wifi.getCurrentGroup((err, data) => {
  45. if (err) {
  46. console.error('failed to get current group: ' + JSON.stringify(err));
  47. return;
  48. }
  49. console.info("get current group: " + JSON.stringify(data));
  50. });
  51. }
  52. wifi.on("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);
  53. setTimeout(function() {wifi.off("p2pConnectionChange", recvP2pConnectionChangeFunc);}, 125 * 1000);
  54. setTimeout(function() {wifi.off("p2pDeviceChange", recvP2pDeviceChangeFunc);}, 125 * 1000);
  55. setTimeout(function() {wifi.off("p2pPeerDeviceChange", recvP2pPeerDeviceChangeFunc);}, 125 * 1000);
  56. setTimeout(function() {wifi.off("p2pPersistentGroupChange", recvP2pPersistentGroupChangeFunc);}, 125 * 1000);
  57. console.info("start discover devices -> " + wifi.startDiscoverDevices());

wifi.p2pCancelConnect9+

p2pCancelConnect(): void

取消P2P連接。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

返回值:

類型

說明

boolean

true:操作執(zhí)行成功, false:操作執(zhí)行失敗。

wifi.startDiscoverDevices9+

startDiscoverDevices(): void

開始發(fā)現(xiàn)設(shè)備。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

返回值:

類型

說明

boolean

true:操作執(zhí)行成功, false:操作執(zhí)行失敗。

wifi.stopDiscoverDevices9+

stopDiscoverDevices(): void

停止發(fā)現(xiàn)設(shè)備。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

返回值:

類型

說明

boolean

true:操作執(zhí)行成功,操作執(zhí)行失敗。

WifiP2pGroupInfo9+

表示P2P群組相關(guān)信息。

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

名稱

類型

可讀

可寫

說明

isP2pGo

boolean

是否是群主。

ownerInfo

WifiP2pDevice

群組的設(shè)備信息。

passphrase

string

群組密鑰。

interface

string

接口名稱。

groupName

string

群組名稱。

networkId

number

網(wǎng)絡(luò)ID。

frequency

number

群組的頻率。

clientDevices

WifiP2pDevice[]

接入的設(shè)備列表信息。

goIpAddress

string

群組IP地址。

wifi.on('wifiStateChange')9+

on(type: "wifiStateChange", callback: Callback<number>): void

注冊(cè)WLAN狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"wifiStateChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。

狀態(tài)改變事件的枚舉:

枚舉值

說明

0

未激活。

1

已激活。

2

激活中。

3

去激活中。

wifi.off('wifiStateChange')9+

off(type: "wifiStateChange", callback?: Callback<number>): void

取消注冊(cè)WLAN狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"wifiStateChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

示例:

  1. import wifi from '@ohos.wifi';
  2. var recvPowerNotifyFunc = result => {
  3. console.info("Receive power state change event: " + result);
  4. }
  5. // Register event
  6. wifi.on("wifiStateChange", recvPowerNotifyFunc);
  7. // Unregister event
  8. wifi.off("wifiStateChange", recvPowerNotifyFunc);

wifi.on('wifiConnectionChange')9+

on(type: "wifiConnectionChange", callback: Callback<number>): void

注冊(cè)WLAN連接狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"wifiConnectionChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。

連接狀態(tài)改變事件的枚舉:

枚舉值

說明

0

已斷開。

1

已連接。

wifi.off('wifiConnectionChange')9+

off(type: "wifiConnectionChange", callback?: Callback<number>): void

取消注冊(cè)WLAN連接狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"wifiConnectionChange"字符串。

callback

Callback<number>

連接狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

wifi.on('wifiScanStateChange')9+

on(type: "wifiScanStateChange", callback: Callback<number>): void

注冊(cè)掃描狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"wifiScanStateChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。

掃描狀態(tài)改變事件的枚舉:

枚舉值

說明

0

掃描失敗。

1

掃描成功。

wifi.off('wifiScanStateChange')9+

off(type: "wifiScanStateChange", callback?: Callback<number>): void

取消注冊(cè)掃描狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"wifiScanStateChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

wifi.on('wifiRssiChange')9+

on(type: "wifiRssiChange", callback: Callback<number>): void

注冊(cè)RSSI狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"wifiRssiChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù),返回以dBm為單位的RSSI值。

wifi.off('wifiRssiChange')9+

off(type: "wifiRssiChange", callback?: Callback<number>): void

取消注冊(cè)RSSI狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.STA

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"wifiRssiChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

wifi.on('hotspotStateChange')9+

on(type: "hotspotStateChange", callback: Callback<number>): void

注冊(cè)熱點(diǎn)狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.AP.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"hotspotStateChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。

熱點(diǎn)狀態(tài)改變事件的枚舉:

枚舉值

說明

0

未激活。

1

已激活。

2

激活中。

3

去激活中。

wifi.off('hotspotStateChange')9+

off(type: "hotspotStateChange", callback?: Callback<number>): void

取消注冊(cè)熱點(diǎn)狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.AP.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"hotspotStateChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

wifi.on('p2pStateChange')9+

on(type: "p2pStateChange", callback: Callback<number>): void

注冊(cè)P2P開關(guān)狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pStateChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。

P2P狀態(tài)改變事件的枚舉:

枚舉值

說明

1

空閑。

2

打開中。

3

已打開。

4

關(guān)閉中。

5

已關(guān)閉。

wifi.off('p2pStateChange')9+

off(type: "p2pStateChange", callback?: Callback<number>): void

取消注冊(cè)P2P開關(guān)狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pStateChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

wifi.on('p2pConnectionChange')9+

on(type: "p2pConnectionChange", callback: Callback<WifiP2pLinkedInfo>): void

注冊(cè)P2P連接狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pConnectionChange"字符串。

callback

Callback<WifiP2pLinkedInfo>

狀態(tài)改變回調(diào)函數(shù)。

wifi.off('p2pConnectionChange')9+

off(type: "p2pConnectionChange", callback?: Callback<WifiP2pLinkedInfo>): void

取消注冊(cè)P2P連接狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pConnectionChange"字符串。

callback

Callback<WifiP2pLinkedInfo>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

wifi.on('p2pDeviceChange')9+

on(type: "p2pDeviceChange", callback: Callback<WifiP2pDevice>): void

注冊(cè)P2P設(shè)備狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pDeviceChange"字符串。

callback

Callback<WifiP2pDevice>

狀態(tài)改變回調(diào)函數(shù)。

wifi.off('p2pDeviceChange')9+

off(type: "p2pDeviceChange", callback?: Callback<WifiP2pDevice>): void

取消注冊(cè)P2P設(shè)備狀態(tài)改變事件。

需要權(quán)限: ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pDeviceChange"字符串。

callback

Callback<WifiP2pDevice>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

wifi.on('p2pPeerDeviceChange')9+

on(type: "p2pPeerDeviceChange", callback: Callback<WifiP2pDevice[]>): void

注冊(cè)P2P對(duì)端設(shè)備狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pPeerDeviceChange"字符串。

callback

Callback<WifiP2pDevice[]>

狀態(tài)改變回調(diào)函數(shù)。

wifi.off('p2pPeerDeviceChange')9+

off(type: "p2pPeerDeviceChange", callback?: Callback<WifiP2pDevice[]>): void

取消注冊(cè)P2P對(duì)端設(shè)備狀態(tài)改變事件。

需要權(quán)限: ohos.permission.LOCATION

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pPeerDeviceChange"字符串。

callback

Callback<WifiP2pDevice[]>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

wifi.on('p2pPersistentGroupChange')9+

on(type: "p2pPersistentGroupChange", callback: Callback<void>): void

注冊(cè)P2P永久組狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pPersistentGroupChange"字符串。

callback

Callback<void>

狀態(tài)改變回調(diào)函數(shù)。

wifi.off('p2pPersistentGroupChange')9+

off(type: "p2pPersistentGroupChange", callback?: Callback<void>): void

取消注冊(cè)P2P永久組狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pPersistentGroupChange"字符串。

callback

Callback<void>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

wifi.on('p2pDiscoveryChange')9+

on(type: "p2pDiscoveryChange", callback: Callback<number>): void

注冊(cè)發(fā)現(xiàn)設(shè)備狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pDiscoveryChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。

發(fā)現(xiàn)設(shè)備狀態(tài)改變事件的枚舉:

枚舉值

說明

0

初始狀態(tài)。

1

發(fā)現(xiàn)成功。

wifi.off('p2pDiscoveryChange')9+

off(type: "p2pDiscoveryChange", callback?: Callback<number>): void

取消注冊(cè)發(fā)現(xiàn)設(shè)備狀態(tài)改變事件。

需要權(quán)限: ohos.permission.GET_WIFI_INFO

系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P

參數(shù):

參數(shù)名

類型

必填

說明

type

string

固定填"p2pDiscoveryChange"字符串。

callback

Callback<number>

狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)