admin管理员组文章数量:1530862
最近做项目有一个需求,需要通过设备自带的WIFI链接,才能跳转到一个网站去进行设置,类似于设置忘记自家WIFI密码,重置WIFI一样,需要连接到WiFi,才能访问网站。
需求:
获取连接的WiFi名称,判断是否为我需要的WIFI名称,格式是否正确(设备发散的WIFI名称格式固定)
uniapp是一个非常好用的前端框架,立刻就去找了,但是只有获取设备的网络类型,和一个获取WIFI列表的,当然全部满足不了我的需求在,百度找了一圈,好不容易发现一个讲解非常详细的,根据他的说明,非常nice的解决了我的问题。
// 主窗体
var MainActivity = plus.android.runtimeMainActivity()
// 上下文
var Context = plus.android.importClass('android.content.Context')
// 导入WIFI管理 和 WIFI 信息 的class
plus.android.importClass("android.wifi.WifiManager")
plus.android.importClass("android.wifi.WifiInfo")
plus.android.importClass("android.wifi.ScanResult")
plus.android.importClass("java.util.ArrayList")
// 获取 WIFI 管理实例
var wifiManager = MainActivity.getSystemService(Context.WIFI_SERVICE)
// 获取当前连接WIFI的信息
var info = wifiManager.getConnectionInfo()
// 获取当前 WIFI 连接的 SSID (WIFI 名称)
var ssid = info.getSSID()
// 这里的 获取到的名称 是 带 双引号的 如 "cmcc"
// 所以我们这里处理一下
ssid = ssid.replace(/(^\"*)|(\"*$)/g, "")
//获取列表
var resultList = wifiManager.getScanResults(),
len = resultList.size()
for(var i = 0; i < len; i++) {
console.log(resultList.get(i).plusGetAttribute('SSID'))
}
完美解决
uni.getNetworkType({
success: function (res) {
console.log(res.networkType);
if(res.networkType != "wifi"){
uni.showToast({
icon:'none',duration:2000,
title:"未连接WIFI",
})
}else{
//判断获取的WiFi是否为机型WiFi
// 主窗体
var MainActivity = plus.android.runtimeMainActivity()
// 上下文
var Context = plus.android.importClass('android.content.Context')
// 导入WIFI管理 和 WIFI 信息 的class
plus.android.importClass("android.wifi.WifiManager")
plus.android.importClass("android.wifi.WifiInfo")
plus.android.importClass("android.wifi.ScanResult")
plus.android.importClass("java.util.ArrayList")
// 获取 WIFI 管理实例
var wifiManager = MainActivity.getSystemService(Context.WIFI_SERVICE)
// 获取当前连接WIFI的信息
var info = wifiManager.getConnectionInfo()
// 获取当前 WIFI 连接的 SSID (WIFI 名称)
var ssid = info.getSSID()
// 这里的 获取到的名称 是 带 双引号的 如 "cmcc"
// 所以我们这里处理一下
ssid = ssid.replace(/(^\"*)|(\"*$)/g, "")
console.log("info",ssid)
var resultList = wifiManager.getScanResults(),
len = resultList.size()
for(var i = 0; i < len; i++) {
console.log(resultList.get(i).plusGetAttribute('SSID'))
}
}
}
})
大佬地址:
https://ask.dcloud/question/12113
是评论取的大佬
版权声明:本文标题:uni-app获取手机当前连接的WIFI名称 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1726807064a1085144.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论