W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
該模塊主要提供WLAN基礎功能、P2P(peer-to-peer)功能和WLAN消息通知的相應服務,讓應用可以通過WLAN和其他設備互聯(lián)互通。
本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
isWifiActive(): boolean
查詢WLAN是否已使能。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
返回值:
類型 | 說明 |
---|---|
boolean | true:已使能, false:未使能。 |
scan(): void
啟動WLAN掃描。
需要權限: ohos.permission.SET_WIFI_INFO 和 ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
返回值:
類型 | 說明 |
---|---|
boolean | true:掃描操作執(zhí)行成功, false:掃描操作執(zhí)行失敗。 |
getScanResults(): Promise<Array<WifiScanInfo>>
獲取掃描結(jié)果,使用Promise異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
返回值:
類型 | 說明 |
---|---|
Promise< Array<WifiScanInfo> > | Promise對象。返回掃描到的熱點列表。 |
getScanResults(callback: AsyncCallback<Array<WifiScanInfo>>): void
獲取掃描結(jié)果,使用callback異步回調(diào)。
需要權限: 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ù)。當成功時,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);
- }
- });
WLAN熱點信息。
系統(tǒng)能力: 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 | 是 | 否 | 時間戳。 |
表示加密類型的枚舉。
系統(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 | 機會性無線加密類型。 |
WIFI_SEC_TYPE_WAPI_CERT9+ | 8 | WAPI-Cert加密類型。 |
WIFI_SEC_TYPE_WAPI_PSK9+ | 9 | WAPI-PSK加密類型。 |
WLAN熱點信息。
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
eid | number | 是 | 否 | 元素ID。 |
content | Uint8Array | 是 | 否 | 元素內(nèi)容。 |
表示帶寬類型的枚舉。
系統(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 | 無效值 |
getScanResultsSync(): Array<WifiScanInfo>
獲取掃描結(jié)果,使用同步方式返回結(jié)果。
需要權限: ohos.permission.GET_WIFI_INFO 和 (ohos.permission.GET_WIFI_PEERS_MAC 或 ohos.permission.LOCATION)
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
返回值:
類型 | 說明 |
---|---|
Array<WifiScanInfo> | 掃描結(jié)果數(shù)組。 |
WLAN配置信息。
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
ssid | string | 是 | 否 | 熱點的SSID,編碼格式為UTF-8。 |
bssid | string | 是 | 否 | 熱點的BSSID。 |
preSharedKey | string | 是 | 否 | 熱點的密鑰。 |
isHiddenSsid | boolean | 是 | 否 | 是否是隱藏網(wǎng)絡。 |
securityType | 是 | 否 | 加密類型。 |
addCandidateConfig(config: WifiDeviceConfig): Promise<number>
添加候選網(wǎng)絡配置,使用Promise異步回調(diào)。
需要權限: ohos.permission.SET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
config | 是 | WLAN配置信息。 |
返回值:
類型 | 說明 |
---|---|
Promise<number> | Promise對象。表示網(wǎng)絡配置ID。 |
addCandidateConfig(config: WifiDeviceConfig, callback: AsyncCallback<number>): void
添加候選網(wǎng)絡配置,使用callback異步回調(diào)。
需要權限: ohos.permission.SET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
config | 是 | WLAN配置信息。 | |
callback | AsyncCallback<number> | 是 | 回調(diào)函數(shù)。當操作成功時,err為0,data為添加的網(wǎng)絡配置ID,如果data值為-1,表示添加失敗。如果操作出現(xiàn)錯誤,err為非0值。 |
removeCandidateConfig(networkId: number): Promise<void>
移除候選網(wǎng)絡配置,使用Promise異步回調(diào)。
需要權限: ohos.permission.SET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
networkId | number | 是 | 網(wǎng)絡配置ID。 |
返回值:
類型 | 說明 |
---|---|
Promise<void> | Promise對象。 |
removeCandidateConfig(networkId: number, callback: AsyncCallback<void>): void
移除候選網(wǎng)絡配置,使用callback異步回調(diào)。
需要權限: ohos.permission.SET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
networkId | number | 是 | 網(wǎng)絡配置ID。 |
callback | AsyncCallback<void> | 是 | 回調(diào)函數(shù)。當操作成功時,err為0。如果error為非0,表示處理出現(xiàn)錯誤。 |
getCandidateConfigs(): Array<WifiDeviceConfig>
獲取候選網(wǎng)絡配置。
需要權限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
返回值:
類型 | 說明 |
---|---|
Array<WifiDeviceConfig> | 候選網(wǎng)絡配置數(shù)組。 |
connectToCandidateConfig(networkId: number): void
連接到候選網(wǎng)絡。
需要權限: ohos.permission.SET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
networkId | number | 是 | 候選網(wǎng)絡配置的ID。 |
getSignalLevel(rssi: number, band: number): number
查詢WLAN信號強度。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
rssi | number | 是 | 熱點的信號強度(dBm)。 |
band | number | 是 | WLAN接入點的頻段。 |
返回值:
類型 | 說明 |
---|---|
number | 信號強度,取值范圍為[0, 4]。 |
getLinkedInfo(): Promise<WifiLinkedInfo>
獲取WLAN連接信息,使用Promise異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
返回值:
類型 | 說明 |
---|---|
Promise<WifiLinkedInfo> | Promise對象。表示W(wǎng)LAN連接信息。 |
getLinkedInfo(callback: AsyncCallback<WifiLinkedInfo>): void
獲取WLAN連接信息,使用callback異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<WifiLinkedInfo> | 是 | 回調(diào)函數(shù)。當獲取成功時,err為0,data表示W(wǎng)LAN連接信息。如果error為非0,表示處理出現(xiàn)錯誤。 |
示例:
- 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");
- });
提供WLAN連接的相關信息。
系統(tǒng)能力: 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接入點是否是隱藏網(wǎng)絡。 |
isRestricted | boolean | 是 | 否 | WLAN接入點是否限制數(shù)據(jù)量。 |
macType9+ | number | 是 | 否 | MAC地址類型。 |
macAddress | string | 是 | 否 | 設備的MAC地址。 |
ipAddress | number | 是 | 否 | WLAN連接的IP地址。 |
connState | 是 | 否 | WLAN連接狀態(tài)。 |
表示W(wǎng)LAN連接狀態(tài)的枚舉。
系統(tǒng)能力: 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連接建立失敗。 |
isConnected(): boolean
查詢WLAN是否已連接。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
返回值:
類型 | 說明 |
---|---|
boolean | true:已連接, false:未連接。 |
isFeatureSupported(featureId: number): boolean
判斷設備是否支持相關WLAN特性。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
featureId | number | 是 | 特性ID值。 |
返回值:
類型 | 說明 |
---|---|
boolean | true:支持, false:不支持。 |
getIpInfo(): IpInfo
獲取IP信息。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
返回值:
類型 | 說明 |
---|---|
IP信息。 |
IP信息。
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
ipAddress | number | 是 | 否 | IP地址。 |
gateway | number | 是 | 否 | 網(wǎng)關。 |
netmask | number | 是 | 否 | 掩碼。 |
primaryDns | number | 是 | 否 | 主DNS服務器IP地址。 |
secondDns | number | 是 | 否 | 備DNS服務器IP地址。 |
serverIp | number | 是 | 否 | DHCP服務端IP地址。 |
leaseDuration | number | 是 | 否 | IP地址租用時長。 |
getCountryCode(): string
獲取國家碼信息。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.Core
返回值:
類型 | 說明 |
---|---|
string | 國家碼。 |
getP2pLinkedInfo(): Promise<WifiP2pLinkedInfo>
獲取P2P連接信息,使用Promise異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
返回值:
類型 | 說明 |
---|---|
Promise<WifiP2pLinkedInfo> | Promise對象。表示P2P連接信息。 |
提供WLAN連接的相關信息。
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
connectState | 是 | 否 | P2P連接狀態(tài)。 | |
isGroupOwner | boolean | 是 | 否 | 是否是群主。 |
groupOwnerAddr | string | 是 | 否 | 群組MAC地址。 |
表示P2P連接狀態(tài)的枚舉。
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
名稱 | 值 | 說明 |
---|---|---|
DISCONNECTED | 0 | 斷開狀態(tài)。 |
CONNECTED | 1 | 連接狀態(tài)。 |
getP2pLinkedInfo(callback: AsyncCallback<WifiP2pLinkedInfo>): void
獲取P2P連接信息,使用callback異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<WifiP2pLinkedInfo> | 是 | 回調(diào)函數(shù)。當操作成功時,err為0,data表示P2P連接信息。如果error為非0,表示處理出現(xiàn)錯誤。 |
getCurrentGroup(): Promise<WifiP2pGroupInfo>
獲取P2P當前組信息,使用Promise異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
返回值:
類型 | 說明 |
---|---|
Promise<WifiP2pGroupInfo> | Promise對象。表示當前組信息。 |
getCurrentGroup(callback: AsyncCallback<WifiP2pGroupInfo>): void
獲取P2P當前組信息,使用callback異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<WifiP2pGroupInfo> | 是 | 回調(diào)函數(shù)。當操作成功時,err為0,data表示當前組信息。如果error為非0,表示處理出現(xiàn)錯誤。 |
getP2pPeerDevices(): Promise<WifiP2pDevice[]>
獲取P2P對端設備列表信息,使用Promise異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
返回值:
類型 | 說明 |
---|---|
Promise<WifiP2pDevice[]> | Promise對象。表示對端設備列表信息。 |
getP2pPeerDevices(callback: AsyncCallback<WifiP2pDevice[]>): void
獲取P2P對端設備列表信息,使用callback異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<WifiP2pDevice[]> | 是 | 回調(diào)函數(shù)。當操作成功時,err為0,data表示對端設備列表信息。如果error為非0,表示處理出現(xiàn)錯誤。 |
表示P2P設備信息。
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
deviceName | string | 是 | 否 | 設備名稱。 |
deviceAddress | string | 是 | 否 | 設備MAC地址。 |
primaryDeviceType | string | 是 | 否 | 主設備類型。 |
deviceStatus | 是 | 否 | 設備狀態(tài)。 | |
groupCapabilities | number | 是 | 否 | 群組能力。 |
表示設備狀態(tài)的枚舉。
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
名稱 | 值 | 說明 |
---|---|---|
CONNECTED | 0 | 連接狀態(tài)。 |
INVITED | 1 | 邀請狀態(tài)。 |
FAILED | 2 | 失敗狀態(tài)。 |
AVAILABLE | 3 | 可用狀態(tài)。 |
UNAVAILABLE | 4 | 不可用狀態(tài)。 |
getP2pLocalDevice(): Promise<WifiP2pDevice>
獲取P2P本端設備信息,使用Promise異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.GET_WIFI_CONFIG
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
返回值:
類型 | 說明 |
---|---|
Promise<WifiP2pDevice> | Promise對象。表示本端設備信息。 |
getP2pLocalDevice(callback: AsyncCallback<WifiP2pDevice>): void
獲取P2P本端設備信息,使用callback異步回調(diào)。
需要權限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.GET_WIFI_CONFIG
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<WifiP2pDevice> | 是 | 回調(diào)函數(shù)。當操作成功時,err為0,data表示本端設備信息。如果error為非0,表示處理出現(xiàn)錯誤。 |
createGroup(config: WifiP2PConfig): void
創(chuàng)建群組。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
config | 是 | 群組配置信息。 |
返回值:
類型 | 說明 |
---|---|
boolean | true:創(chuàng)建群組操作執(zhí)行成功, false:創(chuàng)建群組操作執(zhí)行失敗。 |
表示P2P配置信息。
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
deviceAddress | string | 是 | 否 | 設備地址。 |
netId | number | 是 | 否 | 網(wǎng)絡ID。創(chuàng)建群組時-1表示創(chuàng)建臨時組,-2表示創(chuàng)建永久組。 |
passphrase | string | 是 | 否 | 群組密鑰。 |
groupName | string | 是 | 否 | 群組名稱。 |
goBand | 是 | 否 | 群組帶寬。 |
表示群組帶寬的枚舉。
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
名稱 | 值 | 說明 |
---|---|---|
GO_BAND_AUTO | 0 | 自動模式。 |
GO_BAND_2GHZ | 1 | 2GHZ。 |
GO_BAND_5GHZ | 2 | 5GHZ。 |
removeGroup(): void
移除群組。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
返回值:
類型 | 說明 |
---|---|
boolean | true:操作執(zhí)行成功, false:操作執(zhí)行失敗。 |
p2pConnect(config: WifiP2PConfig): void
執(zhí)行P2P連接。
需要權限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
config | 是 | 連接配置信息。 |
返回值:
類型 | 說明 |
---|---|
boolean | true:操作執(zhí)行成功, false:操作執(zhí)行失敗。 |
示例:
- 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());
p2pCancelConnect(): void
取消P2P連接。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
返回值:
類型 | 說明 |
---|---|
boolean | true:操作執(zhí)行成功, false:操作執(zhí)行失敗。 |
startDiscoverDevices(): void
開始發(fā)現(xiàn)設備。
需要權限: ohos.permission.GET_WIFI_INFO 和 ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
返回值:
類型 | 說明 |
---|---|
boolean | true:操作執(zhí)行成功, false:操作執(zhí)行失敗。 |
stopDiscoverDevices(): void
停止發(fā)現(xiàn)設備。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
返回值:
類型 | 說明 |
---|---|
boolean | true:操作執(zhí)行成功,操作執(zhí)行失敗。 |
表示P2P群組相關信息。
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
isP2pGo | boolean | 是 | 否 | 是否是群主。 |
ownerInfo | 是 | 否 | 群組的設備信息。 | |
passphrase | string | 是 | 否 | 群組密鑰。 |
interface | string | 是 | 否 | 接口名稱。 |
groupName | string | 是 | 否 | 群組名稱。 |
networkId | number | 是 | 否 | 網(wǎng)絡ID。 |
frequency | number | 是 | 否 | 群組的頻率。 |
clientDevices | 是 | 否 | 接入的設備列表信息。 | |
goIpAddress | string | 是 | 否 | 群組IP地址。 |
on(type: "wifiStateChange", callback: Callback<number>): void
注冊WLAN狀態(tài)改變事件。
需要權限: 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 | 去激活中。 |
off(type: "wifiStateChange", callback?: Callback<number>): void
取消注冊WLAN狀態(tài)改變事件。
需要權限: 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不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
示例:
- 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);
on(type: "wifiConnectionChange", callback: Callback<number>): void
注冊WLAN連接狀態(tài)改變事件。
需要權限: 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 | 已連接。 |
off(type: "wifiConnectionChange", callback?: Callback<number>): void
取消注冊WLAN連接狀態(tài)改變事件。
需要權限: 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不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
on(type: "wifiScanStateChange", callback: Callback<number>): void
注冊掃描狀態(tài)改變事件。
需要權限: 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 | 掃描成功。 |
off(type: "wifiScanStateChange", callback?: Callback<number>): void
取消注冊掃描狀態(tài)改變事件。
需要權限: 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不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
on(type: "wifiRssiChange", callback: Callback<number>): void
注冊RSSI狀態(tài)改變事件。
需要權限: 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值。 |
off(type: "wifiRssiChange", callback?: Callback<number>): void
取消注冊RSSI狀態(tài)改變事件。
需要權限: 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不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
on(type: "hotspotStateChange", callback: Callback<number>): void
注冊熱點狀態(tài)改變事件。
需要權限: 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ù)。 |
熱點狀態(tài)改變事件的枚舉:
枚舉值 | 說明 |
---|---|
0 | 未激活。 |
1 | 已激活。 |
2 | 激活中。 |
3 | 去激活中。 |
off(type: "hotspotStateChange", callback?: Callback<number>): void
取消注冊熱點狀態(tài)改變事件。
需要權限: 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不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
on(type: "p2pStateChange", callback: Callback<number>): void
注冊P2P開關狀態(tài)改變事件。
需要權限: 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 | 關閉中。 |
5 | 已關閉。 |
off(type: "p2pStateChange", callback?: Callback<number>): void
取消注冊P2P開關狀態(tài)改變事件。
需要權限: 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不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
on(type: "p2pConnectionChange", callback: Callback<WifiP2pLinkedInfo>): void
注冊P2P連接狀態(tài)改變事件。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 固定填"p2pConnectionChange"字符串。 |
callback | Callback<WifiP2pLinkedInfo> | 是 | 狀態(tài)改變回調(diào)函數(shù)。 |
off(type: "p2pConnectionChange", callback?: Callback<WifiP2pLinkedInfo>): void
取消注冊P2P連接狀態(tài)改變事件。
需要權限: 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不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
on(type: "p2pDeviceChange", callback: Callback<WifiP2pDevice>): void
注冊P2P設備狀態(tài)改變事件。
需要權限: 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ù)。 |
off(type: "p2pDeviceChange", callback?: Callback<WifiP2pDevice>): void
取消注冊P2P設備狀態(tài)改變事件。
需要權限: ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 固定填"p2pDeviceChange"字符串。 |
callback | Callback<WifiP2pDevice> | 否 | 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
on(type: "p2pPeerDeviceChange", callback: Callback<WifiP2pDevice[]>): void
注冊P2P對端設備狀態(tài)改變事件。
需要權限: 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ù)。 |
off(type: "p2pPeerDeviceChange", callback?: Callback<WifiP2pDevice[]>): void
取消注冊P2P對端設備狀態(tài)改變事件。
需要權限: ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 固定填"p2pPeerDeviceChange"字符串。 |
callback | Callback<WifiP2pDevice[]> | 否 | 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
on(type: "p2pPersistentGroupChange", callback: Callback<void>): void
注冊P2P永久組狀態(tài)改變事件。
需要權限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 固定填"p2pPersistentGroupChange"字符串。 |
callback | Callback<void> | 是 | 狀態(tài)改變回調(diào)函數(shù)。 |
off(type: "p2pPersistentGroupChange", callback?: Callback<void>): void
取消注冊P2P永久組狀態(tài)改變事件。
需要權限: 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不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
on(type: "p2pDiscoveryChange", callback: Callback<number>): void
注冊發(fā)現(xiàn)設備狀態(tài)改變事件。
需要權限: 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)設備狀態(tài)改變事件的枚舉:
枚舉值 | 說明 |
---|---|
0 | 初始狀態(tài)。 |
1 | 發(fā)現(xiàn)成功。 |
off(type: "p2pDiscoveryChange", callback?: Callback<number>): void
取消注冊發(fā)現(xiàn)設備狀態(tài)改變事件。
需要權限: 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不填,將去注冊該事件關聯(lián)的所有回調(diào)函數(shù)。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: