无线局域网(Wireless Local Area Networks,WLAN),是通过无线电、红外光信号或者其他技术发送和接收数据的局域网,用户可以通过WLAN实现结点之间无物理连接的网络通讯。常用于用户携带可移动终端的办公、公众环境中。
WLAN组件子系统为用户提供WLAN基础功能、P2P(peer-to-peer)功能和WLAN消息通知的相应服务,让应用可以通过WLAN和其他设备互联互通。
/foundation/communication/wifi
├── figures # 图片资源目录
├── interfaces # 接口适配目录
│ ├── innerkits # 内部接口适配目录
│ └── kits # WLAN组件接口的适配代码存放目录
├── services # service适配目录
│ └── wifi_standard # service实现目录
├── tests # 测试代码目录
│ └── wifi_standard # service实现模块测试代码
└── utils # 实用函数目录
├── inc # 实用函数头文件目录
└── src # 实用函数实现目录
WLAN基础功能由@ohos.wifi类提供,其接口(JS接口)说明如下。
表 1 WLAN基础功能的主要接口(JS接口)
在使用WLAN JS接口前需导入接口类@ohos.wifi。
import wf from '@ohos.wifi'; // 导入js接口类
(一)获取WLAN状态
调用isWifiActive()接口查询WLAN是否打开。
var isWifiActive = wf.isWifiActive(); // 若WLAN打开,返回true,否则false
(二)发起扫描并获取结果
调用scan()接口发起扫描。
调用getScanInfoList()接口获取扫描结果。
// 调用WLAN扫描接口
var isScanSuccess = wf.scan(); // true
// 延迟一段时间
// 获取扫描结果
wf.getScanInfos((err, result) => {
if (err) {
console.error("get scan info error");
return;
}
var len = Object.keys(result).length;
console.log("get scan info number: " + len);
for (var i = 0; i < len; ++i) {
console.info("ssid: " + result[i].ssid);
console.info("bssid: " + result[i].bssid);
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("timestamp: " + result[i].timestamp);
}
});
(三)连接WLAN
调用addDeviceConfig添加配置,然后通过返回的配置id连接WLAN或调用connectToDevice通过配置直接连接WLAN。
// WLAN配置信息
var config = {
"ssid":"test_wifi",
"bssid":"",
"preSharedKey":"12345678",
"isHiddenSsid":false,
"securityType":3,
}
方式一:
// 添加配置
wf.addDeviceConfig(config, (err, result) => {
if (err) {
console.error("add device config error");
return;
}
console.info("config id: " + result);
// 通过配置id连接WLAN
wf.connectToNetwork(result);
});
方式二:
// 通过配置信息直接连接WLAN
wf.connectToDevice(config);
communication_wifi
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。