
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
我们查阅标准系统openharmony3.0的源码
路径:OpenHarmony/applications/standard/settings/entry/src/main/ets/default
可发现openharmony标准系统的设置系统应用里面的控制WiFi是调用napi接口实现的
import WifiNativeJs from '@ohos.wifi_native_js'
WifiNativeJs.enableWifi();
WifiNativeJs.disableWifi();
let obj = {
"ssid": "xxx_wifi_name", //wifi名
"bssid": "xx:xx:xx:xx:xx:50", //wifibssid,注意这里要填写的2.4G wifi bssid,5G与2.4G的bssid是不一样的
"preSharedKey": "xxx_wifi_password", //wifi password
"isHiddenSsid": false,
"securityType": 3 //wifi类型 类型3的意思是 wpa/wpa2
}
WifiNativeJs.connectToDevice(obj)
因为本次教程这是简单的使用openharmony3.0连接wifi,我们只用到这几个,@ohos.wifi_native_js 里面还有很多的接口,我就不一一列出来了,你们自己去探索。
DevEco Studio 3.0.0.800
打开路由器管理页面查看
我这里使用的是万能WiFi钥匙查看 bssid
import WifiNativeJs from '@ohos.wifi_native_js';
async function On_Wifi() { //打开wifi接口
var buf= WifiNativeJs.enableWifi();
console.log("wifi test :on"+buf);
}
async function connect_Wifi() { //连接wifi
let obj = {
"ssid": "PDCN", //wifi名
"bssid": "20:76:93:4B:7B:2E", //wifi bssid
"preSharedKey": "1234567888", //wifi password
"isHiddenSsid": false,
"securityType": 3 //wifi 授权方式 类型3的意思是 wpa/wpa2
}
var buf = WifiNativeJs.connectToDevice(obj);
console.log("wifi test :on"+buf);
}
async function Off_Wifi() {
var buf= WifiNativeJs.disableWifi(); //关闭wifi
console.log("wifi test :on"+buf);
}
@Entry
@Component
struct Wifi {
build() {
Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
Text('WIFI 连接测试')
.fontSize(50)
.fontWeight(FontWeight.Bold)
Button('打开wifi', { type: ButtonType.Capsule, stateEffect: true }).backgroundColor(0x317aff).width(250).height(100).margin(50)
.onClick((event: ClickEvent) => {
On_Wifi();
})
Button('连接wifi', { type: ButtonType.Capsule, stateEffect: true }).backgroundColor(0x317aff).width(250).height(100)
.onClick((event: ClickEvent) => {
connect_Wifi();
})
Button('关闭wifi', { type: ButtonType.Capsule, stateEffect: true }).backgroundColor(0x317aff).width(250).height(100).margin(50)
.onClick((event: ClickEvent) => {
Off_Wifi();
})
}
.width('100%')
.height('100%')
}
}
效果图
测试成功!
一般5Gwifi的bssid 的减去2等于2.4Gwifi的bssid