根据教程,权限已经设置好了,使用如下方法不能获取到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);
					}
				});
			},

更多推荐