WLAN
說(shuō)明: 本模塊首批接口從API version 6開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。 開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]點(diǎn)擊或者復(fù)制轉(zhuǎn)到。
導(dǎo)入模塊
import wifi from '@ohos.wifi';
wifi.isWifiActive
isWifiActive(): boolean
查詢WLAN是否已激活。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 返回值:
類(lèi)型 說(shuō)明 boolean true:已激活, false:未激活。
wifi.scan
scan(): boolean
啟動(dòng)WLAN掃描。
- 需要權(quán)限: ohos.permission.SET_WIFI_INFO,ohos.permission.LOCATION
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 返回值:
類(lèi)型 說(shuō)明 boolean true:掃描操作執(zhí)行成功, false:掃描操作執(zhí)行失敗。
wifi.getScanInfos
getScanInfos(): Promise>
獲取掃描結(jié)果,使用promise方式作為異步方法。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO以及ohos.permission.GET_WIFI_PEERS_MAC和ohos.permission.LOCATION權(quán)限中的至少一個(gè)。
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 返回值:
類(lèi)型 說(shuō)明 Promise< Array<[WifiScanInfo]> > 返回掃描到的熱點(diǎn)列表。
wifi.getScanInfos
getScanInfos(callback: AsyncCallback>): void
獲取掃描結(jié)果,使用callback方式作為異步方法。
需要權(quán)限: ohos.permission.GET_WIFI_INFO以及ohos.permission.GET_WIFI_PEERS_MAC和ohos.permission.LOCATION權(quán)限中的至少一個(gè)。
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù)名 類(lèi)型 必填 說(shuō)明 callback AsyncCallback< Array<[WifiScanInfo]>> 是 掃描到的熱點(diǎn)列表結(jié)果回調(diào)函數(shù)。 示例
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); } });
WifiScanInfo
WLAN熱點(diǎn)信息。
參數(shù)名 | 類(lèi)型 | 讀寫(xiě)屬性 | 說(shuō)明 |
---|---|---|---|
ssid | string | 只讀 | 熱點(diǎn)的SSID,編碼格式為UTF-8。 |
bssid | string | 只讀 | 熱點(diǎn)的BSSID。 |
capabilities | string | 只讀 | 熱點(diǎn)能力。 |
securityType | [WifiSecurityType] | 只讀 | WLAN加密類(lèi)型。 |
rssi | number | 只讀 | 熱點(diǎn)的信號(hào)強(qiáng)度(dBm)。 |
band | number | 只讀 | WLAN接入點(diǎn)的頻段。 |
frequency | number | 只讀 | WLAN接入點(diǎn)的頻率。 |
channelWidth | number | 只讀 | WLAN接入點(diǎn)的帶寬。 |
timestamp | number | 只讀 | 時(shí)間戳。 |
WifiSecurityType
表示加密類(lèi)型的枚舉。
名稱(chēng) | 默認(rèn)值 | 說(shuō)明 |
---|---|---|
WIFI_SEC_TYPE_INVALID | 0 | 無(wú)效加密類(lèi)型。 |
WIFI_SEC_TYPE_OPEN | 1 | 開(kāi)放加密類(lèi)型。 |
WIFI_SEC_TYPE_WEP | 2 | Wired Equivalent Privacy (WEP)加密類(lèi)型。 |
WIFI_SEC_TYPE_PSK | 3 | Pre-shared key (PSK)加密類(lèi)型。 |
WIFI_SEC_TYPE_SAE | 4 | Simultaneous Authentication of Equals (SAE)加密類(lèi)型。 |
wifi.addUntrustedConfig7+
addUntrustedConfig(config: WifiDeviceConfig): Promise
添加不可信網(wǎng)絡(luò)配置,使用promise方式作為異步方法。
需要權(quán)限: ohos.permission.SET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 config [WifiDeviceConfig] 是 WLAN配置信息。 返回值:
類(lèi)型 說(shuō)明 Promise 操作結(jié)果,ture: 成功, false: 失敗。
WifiDeviceConfig
WLAN配置信息。
參數(shù)名 | 類(lèi)型 | 讀寫(xiě)屬性 | 說(shuō)明 |
---|---|---|---|
ssid | string | 只讀 | 熱點(diǎn)的SSID,編碼格式為UTF-8。 |
bssid | string | 只讀 | 熱點(diǎn)的BSSID。 |
preSharedKey | string | 只讀 | 熱點(diǎn)的密鑰。 |
isHiddenSsid | boolean | 只讀 | 是否是隱藏網(wǎng)絡(luò)。 |
securityType | [WifiSecurityType] | 只讀 | 加密類(lèi)型。 |
wifi.addUntrustedConfig7+
addUntrustedConfig(config: WifiDeviceConfig, callback: AsyncCallback): void
添加不可信網(wǎng)絡(luò)配置,使用callback方式作為異步方法。
- 需要權(quán)限: ohos.permission.SET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 config [WifiDeviceConfig] 是 WLAN配置信息。 callback AsyncCallback 是 操作結(jié)果,ture: 成功, false: 失敗。
wifi.removeUntrustedConfig7+
removeUntrustedConfig(config: WifiDeviceConfig): Promise
移除不可信網(wǎng)絡(luò)配置,使用promise方式作為異步方法。
需要權(quán)限: ohos.permission.SET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 config [WifiDeviceConfig] 是 WLAN配置信息。 返回值:
類(lèi)型 說(shuō)明 Promise 操作結(jié)果,ture: 成功, false: 失敗。
wifi.removeUntrustedConfig7+
removeUntrustedConfig(config: WifiDeviceConfig, callback: AsyncCallback): void
移除不可信網(wǎng)絡(luò)配置,使用callback方式作為異步方法。
- 需要權(quán)限: ohos.permission.SET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 config [WifiDeviceConfig] 是 WLAN配置信息。 callback AsyncCallback 是 操作結(jié)果,ture: 成功, false: 失敗。
wifi.getSignalLevel
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ù)名 類(lèi)型 必填 說(shuō)明 rssi number 是 熱點(diǎn)的信號(hào)強(qiáng)度(dBm)。 band number 是 WLAN接入點(diǎn)的頻段。 返回值:
類(lèi)型 說(shuō)明 number 信號(hào)強(qiáng)度,取值范圍為[0, 4]。
wifi.getLinkedInfo
getLinkedInfo(): Promise
獲取WLAN連接信息,使用promise方式作為異步方法。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 返回值:
類(lèi)型 說(shuō)明 Promise<[WifiLinkedInfo]> WLAN連接的相關(guān)信息。
wifi.getLinkedInfo
getLinkedInfo(callback: AsyncCallback): void
獲取WLAN連接信息,使用callback方式作為異步方法。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 callback AsyncCallback<[WifiLinkedInfo]> 是 WLAN連接信息結(jié)果回調(diào)函數(shù)。 示例
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"); });
WifiLinkedInfo
提供WLAN連接的相關(guān)信息。
參數(shù)名 | 類(lèi)型 | 讀寫(xiě)屬性 | 說(shuō)明 |
---|---|---|---|
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ù)量。 |
macAddress | string | 只讀 | 設(shè)備的MAC地址。 |
ipAddress | number | 只讀 | WLAN連接的IP地址。 |
connState | [ConnState] | 只讀 | WLAN連接狀態(tài)。 |
ConnState
表示W(wǎng)LAN連接狀態(tài)的枚舉。
名稱(chēng) | 默認(rèn)值 | 說(shuō)明 |
---|---|---|
SCANNING | 0 | 設(shè)備正在搜索可用的AP。 |
CONNECTING | 1 | 正在建立WLAN連接。 |
AUTHENTICATING | 2 | WLAN連接正在認(rèn)證中。 |
OBTAINING_IPADDR | 3 | 正在獲取WLAN連接的IP地址。 |
CONNECTED | 4 | WLAN連接已建立。 |
DISCONNECTING | 5 | WLAN連接正在斷開(kāi)。 |
DISCONNECTED | 6 | WLAN連接已斷開(kāi)。 |
UNKNOWN | 7 | WLAN連接建立失敗。 |
wifi.isConnected7+
isConnected(): boolean
查詢WLAN是否已連接。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 返回值:
類(lèi)型 說(shuō)明 boolean true:已連接, false:未連接。
wifi.isFeatureSupported7+
isFeatureSupported(featureId: number): boolean
判斷設(shè)備是否支持相關(guān)WLAN特性。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.Core
參數(shù):
參數(shù)名 類(lèi)型 必填 說(shuō)明 featureId number 是 特性ID值。 返回值:
類(lèi)型 說(shuō)明 boolean true:支持, false:不支持。 特性ID值枚舉。
枚舉值 說(shuō)明 0x0001 基礎(chǔ)結(jié)構(gòu)模式特性。 0x0002 5 GHz帶寬特性。 0x0004 GAS/ANQP特性。 0x0008 Wifi-Direct特性。 0x0010 Soft AP特性。 0x0040 Wi-Fi AWare組網(wǎng)特性。 0x8000 AP STA共存特性。 0x8000000 WPA3-Personal SAE特性。 0x10000000 WPA3-Enterprise Suite-B 0x20000000 增強(qiáng)開(kāi)放特性。
wifi.getIpInfo7+
getIpInfo(): IpInfo
獲取IP信息。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 返回值:
類(lèi)型 說(shuō)明 [IpInfo] IP信息。
IpInfo7+
IP信息。
參數(shù)名 | 類(lèi)型 | 讀寫(xiě)屬性 | 說(shuō)明 |
---|---|---|---|
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.getCountryCode7+
getCountryCode(): string
獲取國(guó)家碼信息。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.Core
- 返回值:
類(lèi)型 說(shuō)明 string 國(guó)家碼。
wifi.getP2pLinkedInfo8+
getP2pLinkedInfo(): Promise
獲取P2P連接信息,使用promise方式作為異步方法。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 返回值:
類(lèi)型 說(shuō)明 Promise<[WifiP2pLinkedInfo]> P2P連接信息。
wifi.getP2pLinkedInfo8+
getP2pLinkedInfo(callback: AsyncCallback): void
獲取P2P連接信息,使用callback方式作為異步方法。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 callback AsyncCallback<[WifiP2pLinkedInfo]> 是 P2P連接信息結(jié)果回調(diào)函數(shù)。
WifiP2pLinkedInfo8+
提供WLAN連接的相關(guān)信息。
參數(shù)名 | 類(lèi)型 | 讀寫(xiě)屬性 | 說(shuō)明 |
---|---|---|---|
connectState | [P2pConnectState] | 只讀 | P2P連接狀態(tài)。 |
isGroupOwner | boolean | 只讀 | 是否是群組。 |
groupOwnerAddr | string | 只讀 | 群組MAC地址。 |
P2pConnectState8+
表示P2P連接狀態(tài)的枚舉。
名稱(chēng) | 默認(rèn)值 | 說(shuō)明 |
---|---|---|
DISCONNECTED | 0 | 斷開(kāi)狀態(tài)。 |
CONNECTED | 1 | 連接狀態(tài)。 |
wifi.getCurrentGroup8+
getCurrentGroup(): Promise
獲取P2P當(dāng)前組信息,使用promise方式作為異步方法。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 返回值:
類(lèi)型 說(shuō)明 Promise<[WifiP2pGroupInfo]> 當(dāng)前組信息。
wifi.getCurrentGroup8+
getCurrentGroup(callback: AsyncCallback): void
獲取P2P當(dāng)前組信息,使用callback方式作為異步方法。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 callback AsyncCallback<[WifiP2pGroupInfo]> 是 當(dāng)前組信息的回調(diào)函數(shù)。
WifiP2pGroupInfo8+
表示P2P群組相關(guān)信息。
參數(shù)名 | 類(lèi)型 | 讀寫(xiě)屬性 | 說(shuō)明 |
---|---|---|---|
isP2pGo | boolean | 只讀 | 是否是群組。 |
ownerInfo | [WifiP2pDevice] | 只讀 | 群組的設(shè)備信息。 |
passphrase | string | 只讀 | 群組密鑰。 |
interface | string | 只讀 | 接口名稱(chēng)。 |
groupName | string | 只讀 | 群組名稱(chēng)。 |
networkId | number | 只讀 | 網(wǎng)絡(luò)ID。 |
frequency | number | 只讀 | 群組的頻率。 |
clientDevices | [WifiP2pDevice[]] | 只讀 | 接入的設(shè)備列表信息。 |
goIpAddress | string | 只讀 | 群組IP地址。 |
WifiP2pDevice8+
表示P2P設(shè)備信息。
參數(shù)名 | 類(lèi)型 | 讀寫(xiě)屬性 | 說(shuō)明 |
---|---|---|---|
deviceName | string | 只讀 | 設(shè)備名稱(chēng)。 |
deviceAddress | string | 只讀 | 設(shè)備MAC地址。 |
primaryDeviceType | string | 只讀 | 主設(shè)備類(lèi)型。 |
deviceStatus | [P2pDeviceStatus] | 只讀 | 設(shè)備狀態(tài)。 |
groupCapabilities | number | 只讀 | 群組能力。 |
P2pDeviceStatus8+
表示設(shè)備狀態(tài)的枚舉。
名稱(chēng) | 默認(rèn)值 | 說(shuō)明 |
---|---|---|
CONNECTED | 0 | 連接狀態(tài)。 |
INVITED | 1 | 邀請(qǐng)狀態(tài)。 |
FAILED | 2 | 失敗狀態(tài)。 |
AVAILABLE | 3 | 可用狀態(tài)。 |
UNAVAILABLE | 4 | 不可用狀態(tài)。 |
wifi.getP2pPeerDevices8+
getP2pPeerDevices(): Promise
獲取P2P對(duì)端設(shè)備列表信息,使用promise方式作為異步方法。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 返回值:
類(lèi)型 說(shuō)明 Promise<[WifiP2pDevice[]]> 對(duì)端設(shè)備列表信息。
wifi.getP2pPeerDevices8+
getP2pPeerDevices(callback: AsyncCallback): void
獲取P2P對(duì)端設(shè)備列表信息,使用callback方式作為異步方法。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 callback AsyncCallback<[WifiP2pDevice[]]> 是 對(duì)端設(shè)備列表信息回調(diào)函數(shù)。
wifi.createGroup8+
createGroup(config: WifiP2PConfig): boolean;
創(chuàng)建群組。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 類(lèi)型 必填 說(shuō)明 config [WifiP2PConfig] 是 群組配置信息。 返回值:
類(lèi)型 說(shuō)明 boolean true:創(chuàng)建群組操作執(zhí)行成功, false:創(chuàng)建群組操作執(zhí)行失敗。
WifiP2PConfig8+
表示P2P配置信息。
參數(shù)名 | 類(lèi)型 | 讀寫(xiě)屬性 | 說(shuō)明 |
---|---|---|---|
deviceAddress | string | 只讀 | 設(shè)備地址。 |
netId | number | 只讀 | 網(wǎng)絡(luò)ID。創(chuàng)建群組時(shí)-1表示創(chuàng)建臨時(shí)組,-2表示創(chuàng)建永久組。 |
passphrase | string | 只讀 | 群組密鑰。 |
groupName | string | 只讀 | 群組名稱(chēng)。 |
goBand | [GroupOwnerBand] | 只讀 | 群組帶寬。 |
GroupOwnerBand8+
表示群組帶寬的枚舉。
名稱(chēng) | 默認(rèn)值 | 說(shuō)明 |
---|---|---|
GO_BAND_AUTO | 0 | 自動(dòng)模式。 |
GO_BAND_2GHZ | 1 | 2GHZ。 |
GO_BAND_5GHZ | 2 | 5GHZ。 |
wifi.removeGroup8+
removeGroup(): boolean;
移除群組。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 返回值:
類(lèi)型 說(shuō)明 boolean true:操作執(zhí)行成功, false:操作執(zhí)行失敗。
wifi.p2pConnect8+
p2pConnect(config: WifiP2PConfig): boolean;
執(zhí)行P2P連接。
需要權(quán)限: ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù):
參數(shù)名 類(lèi)型 必填 說(shuō)明 config [WifiP2PConfig] 是 連接配置信息。 返回值:
類(lèi)型 說(shuō)明 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 = 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連接。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 返回值:
類(lèi)型 說(shuō)明 boolean true:取消連接操作執(zhí)行成功, false:取消連接操作執(zhí)行失敗。
wifi.startDiscoverDevices8+
startDiscoverDevices(): boolean;
開(kāi)始發(fā)現(xiàn)設(shè)備。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 返回值:
類(lèi)型 說(shuō)明 boolean true:操作執(zhí)行成功, false:操作執(zhí)行失敗。
wifi.stopDiscoverDevices8+
stopDiscoverDevices(): boolean;
停止發(fā)現(xiàn)設(shè)備。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 返回值:
類(lèi)型 說(shuō)明 boolean true:操作執(zhí)行成功,操作執(zhí)行失敗。
wifi.on('wifiStateChange')7+
on(type: "wifiStateChange", callback: Callback): void
注冊(cè)WLAN狀態(tài)改變事件。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"wifiStateChange"字符串。 callback Callback 是 狀態(tài)改變回調(diào)函數(shù)。 狀態(tài)改變事件的枚舉。
枚舉值 說(shuō)明 0 未激活。 1 已激活。 2 激活中。 3 去激活中。
wifi.off('wifiStateChange')7+
off(type: "wifiStateChange", callback?: Callback): void
取消注冊(cè)WLAN狀態(tài)改變事件。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"wifiStateChange"字符串。 callback Callback 否 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。 示例
import wifi from '@ohos.wifi'; var WIFI_POWER_STATE = "wifiStateChange"; var recvPowerNotifyFunc = result = > { console.info("Receive power state change event: " + result); } // Register event wifi.on(WIFI_POWER_STATE, recvPowerNotifyFunc); // Unregister event wifi.off(WIFI_POWER_STATE, recvPowerNotifyFunc);
wifi.on('wifiConnectionChange')7+
on(type: "wifiConnectionChange", callback: Callback): void
注冊(cè)WLAN連接狀態(tài)改變事件。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"wifiConnectionChange"字符串。 callback Callback 是 狀態(tài)改變回調(diào)函數(shù)。 連接狀態(tài)改變事件的枚舉。
枚舉值 說(shuō)明 0 已斷開(kāi)。 1 已連接。
wifi.off('wifiConnectionChange')7+
off(type: "wifiConnectionChange", callback?: Callback): void
取消注冊(cè)WLAN連接狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"wifiConnectionChange"字符串。 callback Callback 否 連接狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。
wifi.on('wifiScanStateChange')7+
on(type: "wifiScanStateChange", callback: Callback): void
注冊(cè)掃描狀態(tài)改變事件。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"wifiScanStateChange"字符串。 callback Callback 是 狀態(tài)改變回調(diào)函數(shù)。 掃描狀態(tài)改變事件的枚舉。
枚舉值 說(shuō)明 0 掃描失敗。 1 掃描成功。
wifi.off('wifiScanStateChange')7+
off(type: "wifiScanStateChange", callback?: Callback): void
取消注冊(cè)掃描狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 參數(shù)
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
type | string | 是 | 固定填"wifiScanStateChange"字符串。 |
callback | Callback | 否 | 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。 |
wifi.on('wifiRssiChange')7+
on(type: "wifiRssiChange", callback: Callback): void
注冊(cè)RSSI狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"wifiRssiChange"字符串。 callback Callback 是 狀態(tài)改變回調(diào)函數(shù),返回以dBm為單位的RSSI值。
wifi.off('wifiRssiChange')7+
off(type: "wifiRssiChange", callback?: Callback): void
取消注冊(cè)RSSI狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.STA
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"wifiRssiChange"字符串。 callback Callback 否 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。
wifi.on('hotspotStateChange')7+
on(type: "hotspotStateChange", callback: Callback): void
注冊(cè)熱點(diǎn)狀態(tài)改變事件。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.AP.Core
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"hotspotStateChange"字符串。 callback Callback 是 狀態(tài)改變回調(diào)函數(shù)。 熱點(diǎn)狀態(tài)改變事件的枚舉。
枚舉值 說(shuō)明 0 未激活。 1 已激活。 2 激活中。 3 去激活中。
wifi.off('hotspotStateChange')7+
off(type: "hotspotStateChange", callback?: Callback): void
取消注冊(cè)熱點(diǎn)狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.AP.Core
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"hotspotStateChange"字符串。 callback Callback 否 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。
wifi.on('p2pStateChange')8+
on(type: "p2pStateChange", callback: Callback): void
注冊(cè)P2P開(kāi)關(guān)狀態(tài)改變事件。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pStateChange"字符串。 callback Callback 是 狀態(tài)改變回調(diào)函數(shù)。 P2P狀態(tài)改變事件的枚舉。
枚舉值 說(shuō)明 1 空閑。 2 打開(kāi)中。 3 已打開(kāi)。 4 關(guān)閉中。 5 已關(guān)閉。
wifi.off('p2pStateChange')8+
off(type: "p2pStateChange", callback?: Callback): void
取消注冊(cè)P2P開(kāi)關(guān)狀態(tài)改變事件。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pStateChange"字符串。 callback Callback 否 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。 wifi.on('p2pConnectionChange')8+
on(type: "p2pConnectionChange", callback: Callback): void
注冊(cè)P2P連接狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pConnectionChange"字符串。 callback Callback<[WifiP2pLinkedInfo]> 是 狀態(tài)改變回調(diào)函數(shù)。
wifi.off('p2pConnectionChange')8+
off(type: "p2pConnectionChange", callback?: Callback): void
取消注冊(cè)P2P連接狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pConnectionChange"字符串。 callback Callback<[WifiP2pLinkedInfo]> 否 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。
wifi.on('p2pDeviceChange')8+
on(type: "p2pDeviceChange", callback: Callback): void
注冊(cè)P2P設(shè)備狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO,ohos.permission.LOCATION
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pDeviceChange"字符串。 callback Callback<[WifiP2pDevice]> 是 狀態(tài)改變回調(diào)函數(shù)。
wifi.off('p2pDeviceChange')8+
off(type: "p2pDeviceChange", callback?: Callback): void
取消注冊(cè)P2P設(shè)備狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.LOCATION
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pDeviceChange"字符串。 callback Callback<[WifiP2pDevice]> 否 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。
wifi.on('p2pPeerDeviceChange')8+
on(type: "p2pPeerDeviceChange", callback: Callback): 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ù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pPeerDeviceChange"字符串。 callback Callback<[WifiP2pDevice[]]> 是 狀態(tài)改變回調(diào)函數(shù)。
wifi.off('p2pPeerDeviceChange')8+
off(type: "p2pPeerDeviceChange", callback?: Callback): void
取消注冊(cè)P2P對(duì)端設(shè)備狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.LOCATION
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pPeerDeviceChange"字符串。 callback Callback<[WifiP2pDevice[]]> 否 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。
wifi.on('p2pPersistentGroupChange')8+
on(type: "p2pPersistentGroupChange", callback: Callback): void
注冊(cè)P2P永久組狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pPersistentGroupChange"字符串。 callback Callback 是 狀態(tài)改變回調(diào)函數(shù)。
wifi.off('p2pPersistentGroupChange')8+
off(type: "p2pPersistentGroupChange", callback?: Callback): void
取消注冊(cè)P2P永久組狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pPersistentGroupChange"字符串。 callback Callback 否 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。
wifi.on('p2pDiscoveryChange')8+
on(type: "p2pDiscoveryChange", callback: Callback): void
注冊(cè)發(fā)現(xiàn)設(shè)備狀態(tài)改變事件。
需要權(quán)限: ohos.permission.GET_WIFI_INFO
系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pDiscoveryChange"字符串。 callback Callback 是 狀態(tài)改變回調(diào)函數(shù)。 發(fā)現(xiàn)設(shè)備狀態(tài)改變事件的枚舉。
枚舉值 說(shuō)明 0 初始狀態(tài)。 1 發(fā)現(xiàn)成功。 HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
wifi.off('p2pDiscoveryChange')8+
off(type: "p2pDiscoveryChange", callback?: Callback): void
取消注冊(cè)發(fā)現(xiàn)設(shè)備狀態(tài)改變事件。
- 需要權(quán)限: ohos.permission.GET_WIFI_INFO
- 系統(tǒng)能力: SystemCapability.Communication.WiFi.P2P
- 參數(shù)
參數(shù)名 類(lèi)型 必填 說(shuō)明 type string 是 固定填"p2pDiscoveryChange"字符串。 callback Callback 否 狀態(tài)改變回調(diào)函數(shù)。如果callback不填,將去注冊(cè)該事件關(guān)聯(lián)的所有回調(diào)函數(shù)。
-
接口
+關(guān)注
關(guān)注
33文章
8447瀏覽量
150722 -
API
+關(guān)注
關(guān)注
2文章
1472瀏覽量
61749 -
WIFI
+關(guān)注
關(guān)注
81文章
5280瀏覽量
203085 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2302瀏覽量
42689
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論