uni-app获取手机可接收的所有的WiFi名称和信号强度
前言
关键词:HBuilder uniapp wifi RSSI SSID
最近做项目有一个需求,要求用HBuilder uniapp做一个app显示手机可接收的WiFi名称和对应的场强(信号强度),百度找了一圈,只找到了关于WiFi名称的一些资料,于是根据一篇文章修改了一下(附在文末),最终很nice的解决了我的问题。有一定的参考价值,感兴趣的小伙伴们可以参考一下。(9.6号)
一、代码及注释
index.vue 代码如下:
-
<template>
-
<view>
-
home---{{title}}
-
<button type="default" @click="getWifiInfo">获取wifi信息</button>
-
</view>
-
</template>
-
-
<script>
-
// const gbWiFi = uni.requireNativePlugin('Googbuild-WIFI');
-
const FvvUniWifiHelper = uni.requireNativePlugin("Fvv-UniWifiHelper");
-
export default {
-
data() {
-
return {
-
title: "",
-
wifiArray:[],
-
}
-
},
-
onLoad() {
-
-
},
-
-
methods: {
-
getWifiInfo () {
-
//在手机上显示
-
uni.showModal({
-
title: "alert 弹窗标题",
-
//content: "弹窗内容,告知当前状态、信息和解决方法,描述文字尽量控制在三行内",
-
content: this.getWiFiIP(),
-
showCancel: false,
-
confirmText: "确定",
-
confirmColor: "#00ffff",
-
success(res) {
-
if (res.confirm) {
-
console.log('确认')
-
}
-
}
-
})
-
},
-
// 获取WiFi信息
-
getWiFiIP() {
-
// MainActivity
-
var MainActivity = plus.android.runtimeMainActivity()
-
// Context
-
var Context = plus.android.importClass('android.content.Context')
-
// WiFi 相关包
-
plus.android.importClass("android.net.wifi.WifiManager")
-
plus.android.importClass("android.net.wifi.WifiInfo")
-
plus.android.importClass("android.net.wifi.ScanResult")
-
plus.android.importClass("java.util.ArrayList")
-
// WiFi 管理实例
-
var wifiManager = MainActivity.getSystemService(Context.WIFI_SERVICE)
-
// 开启 WiFi
-
// wifiManager.setWifiEnabled(true)
-
// 当前连接 WiFi 信息
-
var wifiInfo = wifiManager.getConnectionInfo()
-
-
console.log(wifiInfo.toString())//打印当前连接 WiFi 的所有信息
-
-
var wifirssi = wifiInfo.getRssi()// 获取当前链接 WiFi 的信号强度
-
console.log(wifirssi)//打印 WiFi 的信号强度
-
-
var ssid = wifiInfo.getSSID()// 获取当前 WIFI 连接的 SSID (WIFI 名称)
-
ssid = ssid.replace(/(^\"*)|(\"*$)/g, "")
-
console.log(ssid)//打印 WIFI 名称
-
console.log(ssid "," "信号强度:" wifirssi)
-
-
//注意 getConnectionInfo() 与 getScanResults() 的区别
-
var resultList = wifiManager.getScanResults(),//扫描得到的wifi信号集合
-
len = resultList.size()
-
var wifiScanResults = '' //定义wifiScanResults
-
console.log(resultList)
-
-
//注:获取resultList中的场强信息用的是 level 而不是 RSSI
-
-
for(var i = 0; i < len; i ) {
-
console.log(resultList.get(i).plusGetAttribute('SSID') " 信号:" resultList.get(i).plusGetAttribute('level'))
-
//将每一个ssid与rssi 都添加到wifiArray数组中,用于绑定显示,根据个人业务取舍 wifiArray=[{name:WiFi的SSID}]
-
let oneWiFi={
-
name:resultList.get(i).plusGetAttribute('SSID'),
-
signal:resultList.get(i).plusGetAttribute('level')
-
}
-
this.wifiArray.push(oneWiFi);
-
wifiScanResults = wifiScanResults ',' this.wifiArray[i].name ' 信号:' this.wifiArray[i].signal "\n";//打印内容
-
}
-
return wifiScanResults//返回
-
-
-
}
-
-
},
-
-
}
-
</script>
-
-
<style>
-
-
</style>
总结
(有不懂的可以私信我,我会在文章中进行补充)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgachab
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
photoshop蒙版画笔没反应怎么办
PHP中文网 06-24