鸿蒙开发5.0【基于wifiManager的网络扫描及IP地址获取】

场景描述

场景一:查看附近可连接wifi网络的信号强度(rssi)、热点能力、服务集标识(ssid)等信息,开发者可自定义策略选择网络

场景二:通过当前连接wifi的IP地址判断用户所属有关位置信息

方案描述

场景一:

查看附近可连接wifi网络的信号强度(rssi)、热点能力、服务集标识(ssid)等信息,开发者可自定义策略选择网络

效果图

1

日志中打印结果显示可参考如图

方案

当前暂不支持三方直接调用扫描能力,提供[wifimanager.getScanInfoList]方法获取到扫描结果

核心代码

try {

let scanInfoList = wifiManager.getScanInfoList();

console.info("scanInfoList:" + JSON.stringify(scanInfoList));

let len = scanInfoList.length;

console.log("wifi received scan info: " + len);

if(len > 0){

for (let i = 0; i < len; ++i) {

console.info("ssid: " + scanInfoList[i].ssid);

console.info("bssid: " + scanInfoList[i].bssid);

console.info("capabilities: " + scanInfoList[i].capabilities);

console.info("securityType: " + scanInfoList[i].securityType);

console.info("rssi: " + scanInfoList[i].rssi);

console.info("band: " + scanInfoList[i].band);

console.info("frequency: " + scanInfoList[i].frequency);

console.info("channelWidth: " + scanInfoList[i].channelWidth);

console.info("timestamp: " + scanInfoList[i].timestamp);

}

}

}catch(error){

console.error("failed:" + JSON.stringify(error));

}

场景二:

通过当前连接wifi的IP地址判断用户所属有关位置信息

方案

建立socket通信连接绑定本设备ip地址 / 获取本地WiFi的IP地址及特征,可参考[@ohos.wifimanager.getLinkedInfo]方法获取当前已连接wifi的地址信息

效果图

2

核心代码

返回数据为格式需要调用位移符转换为”192.168.0.1“常见IP地址模式:


//返回参数格式转换

resolveIP(ip: number): string {

if (ip < 0 || ip > 0xFFFFFFFF) {

return "";

}

return (ip >>> 24) + '.' + (ip >> 16 & 0xFF) + '.' + (ip >> 8 & 0xFF) + '.' + (ip & 0xFF);

}



//获取当前连接wifi的IP地址

wifiManager.getLinkedInfo().then(data => {

console.info("get wifi linked info: " + JSON.stringify(this.resolveIP(data.ipAddress)));



}).catch((error:number) => {

console.info("get linked info error");

});

以上就是本篇文章所带来的鸿蒙开发中一小部分技术讲解;想要学习完整的鸿蒙全栈技术。可以在结尾找我可全部拿到!
下面是鸿蒙的完整学习路线,展示如下:
1

除此之外,根据这个学习鸿蒙全栈学习路线,也附带一整套完整的学习【文档+视频】,内容包含如下

内容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上快速成长!

鸿蒙【北向应用开发+南向系统层开发】文档

鸿蒙【基础+实战项目】视频

鸿蒙面经

2

为了避免大家在学习过程中产生更多的时间成本,对比我把以上内容全部放在了↓↓↓想要的可以自拿喔!谢谢大家观看!
3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值