uniapp获取wifi连接状态

简介: uniapp获取wifi连接状态


当使用Uniapp开发移动应用时,我们经常需要获取设备的连接状态,特别是WiFi连接状态。下面是一个简短的关于在Uniapp中获取WiFi连接状态的博客:

在Uniapp中,要获取设备的WiFi连接状态,我们可以利用uni.getNetworkType接口来实现。uni.getNetworkType接口可以获取当前网络状态,包括WiFi、3G、4G等类型,从而帮助我们判断设备是否连接了WiFi。

下面是一个简单的示例代码:

首先我们需要先获取以下地理位置:

//获取位置
            uni.getSetting({
              success(res) {
                // 请求地理定位权限
                uni.authorize({
                  scope: 'scope.userLocation',
                  success() {
                    // 用户已经同意地理定位权限
                    // 3. 获取地理定位信息
                    uni.getLocation({
                      type: 'gcj02', // 获取的坐标类型
                      success: function(res) {
                      },
                      fail: function(err) {
                        uni.showToast({
                          title: '请打开位置信息并下拉刷新,否则会影响用户体验',
                          icon: 'none'
                        })
                      }
                    });
                  },
                  fail() {
                    uni.showToast({
                      title: '用户拒绝授权地理定位权限',
                      icon: 'none'
                    })
                    uni.showModal({
                      title: '提示',
                      content: '请开启定位权限',
                      success: function(res) {
                        if (res.confirm) {
                          uni.openSetting({
                            success: (
                              authRes
                            ) => {
                              console
                                .log(
                                  authRes
                                  .authSetting
                                );
                            }
                          });
                        } else {
                          uni.navigateBack({
                            delta: 1
                          })
                        }
                      }
                    });
                  }
                })
              }
            })

获取成功之后,再开始检测wifi状态

// 初始化
        uni.startWifi({
          success() {
            console.log(111);
            if (that.platform == 'android') {
              console.log(222);
              // 获取wifi列表
              uni.getWifiList({
                success() {
                  console.log(333);
                  // 获取连接wifi的信息
                  uni.getConnectedWifi({
                    success(res) {
                      console.log(res, 999);
                      that.SSID = res.wifi.SSID
                      console.log(that.wifis, 444);
                      if (that.wifis != res.wifi.SSID && res.wifi
                        .SSID !=
                        '') {
                        that.set_status = false
                      }
                      if (that.wifis == res.wifi.SSID) {
                        that.set_status = true
                      }
                      uni.hideLoading();
                      that.SSID = ''
                      that.mess()
                    },
                    fail() {
                      that.set_status = false
                      that.SSID = ''
                      uni.showToast({
                        title: '获取失败',
                        icon: 'none'
                      })
                      that.mess()
                    }
                  })
                },
                fail() {
                  uni.hideLoading();
                  that.message = '不在打卡范围'
                }
              })
            } else if (that.platform == 'ios') {
              // 获取连接wifi的信息
              uni.getConnectedWifi({
                success(res) {
                  console.log(res, 999);
                  that.SSID = res.wifi.SSID
                  console.log(that.wifis, 444);
                  if (that.wifis != res.wifi.SSID) {
                    that.set_status = false
                  }
                  if (that.wifis == res.wifi.SSID) {
                    that.set_status = true
                  }
                  uni.hideLoading();
                  that.SSID = ''
                  that.mess()
                },
                fail() {
                  that.SSID = ''
                  that.set_status = false
                  that.SSID = ''
                  uni.showToast({
                    title: '获取失败',
                    icon: 'none'
                  })
                  that.mess()
                  uni.hideLoading();
                }
              })
            }
          },
          fail() {
            uni.showToast({
              title: '初始化失败',
              icon: 'none'
            })
          }
        })

这里需要注意的是由于安卓和苹果有些异同,所以要针对于不同手机型号做适配

下一篇文章我会讲出如何实时监测wifi连接状态,也就是说,如果切换wifi了或者关闭/打开了都会执行

相关文章
|
2月前
|
存储 网络安全 Python
WiFi连接树莓派【2月更文挑战第2天】
要通过WiFi连接树莓派并显示其摄像头视频信息,您需要按照以下步骤操作: 1. 确保您的电脑和树莓派已连接到同一个WiFi网络。 2. 安装Python和必要的库:在您的电脑上安装Python 3.6或更高版本,并安装pip(Python包管理器)。然后,通过pip安装以下库: 【2月更文挑战第2天】
23 1
|
7月前
|
安全 数据安全/隐私保护 网络架构
如何查看电脑所有连接过的wifi密码?
如何查看电脑所有连接过的wifi密码?
276 0
|
9月前
|
小程序
小程序-uniapp:实现锚点连接/锚点跳转
小程序-uniapp:实现锚点连接/锚点跳转
374 0
|
1月前
|
前端开发 安全 数据安全/隐私保护
WPA_CLI 的介绍:介绍如何使用wpa_cli连接WiFi的方法
WPA_CLI 的介绍:介绍如何使用wpa_cli连接WiFi的方法
30 2
|
5月前
|
安全 数据安全/隐私保护
windows10 查看已连接wifi的密码
windows10 查看已连接wifi的密码
134 0
|
3月前
Uniapp连接iBeacon设备——实现无线定位与互动体验(实现篇)
Uniapp连接iBeacon设备——实现无线定位与互动体验(实现篇)
46 0
|
3月前
|
数据采集 搜索推荐 JavaScript
Uniapp连接iBeacon设备——实现无线定位与互动体验(理论篇)
Uniapp连接iBeacon设备——实现无线定位与互动体验(理论篇)
85 0
|
4月前
|
Android开发 网络架构
【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)
【Android App】检查手机连接WiFi信息以及扫描周围WiFi的讲解及实战(附源码和演示 超详细必看)
161 1
|
5月前
|
开发工具
uniapp项目怎么连接手机调试
uniapp项目怎么连接手机调试
67 0
|
7月前
|
Linux 数据安全/隐私保护
如何在 Linux 中使用 nmcli 连接 WiFi?
如何在 Linux 中使用 nmcli 连接 WiFi?
138 0