根据教程,权限已经设置好了,使用如下方法不能获取到wifi信息,经测试,是因为没有打开《位置信息》权限。有点尴尬.....
//WIFI信息相关
getWifi() {
let that = this
uni.getNetworkType({
success: function(res) {
if (res.networkType == 'none') {
that.wifi = '没有网络'
that.openWifiSet()
} else {
that.wifi = res.networkType
if (res.networkType == 'wifi') {
// 主窗体
var MainActivity = plus.android.runtimeMainActivity()
// 上下文
var Context = plus.android.importClass('android.content.Context')
// 导入WIFI管理 和 WIFI 信息 的class
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)
console.log(wifiManager)
// 获取当前连接WIFI的信息
var info = wifiManager.getConnectionInfo()
// 获取当前 WIFI 连接的 SSID (WIFI 名称)
var ssid = info.getSSID()
// 这里的 获取到的名称 是 带 双引号的 如 "cmcc"
// 所以我们这里处理一下
ssid = ssid.replace(/(^\"*)|(\"*$)/g, "")
if (ssid == '<unknown ssid>') {
that.wifi = {
'name': '未知连接',
'rssi': -80
}
} else {
that.wifi = {
'name': ssid, // WiFi名称
'rssi': info.getRssi() // WiFi强度
}
if (info.getRssi() < '-70') {
// that.openWifiSet() // 打开WiFi设置
uni.showToast({
icon: 'error',
title: '信号不好',
duration: 1000
})
}
}
}
}
},
fail: function(res) {
console.log('wifi2 ', res.networkType);
}
});
},