uni-app获取手机当前连接的WIFI名称

一、需要增加安卓访问用户位置与信息的权限

1.manifest.json文件中增加对应权限

javascript 复制代码
            /* android打包配置 */
            "android" : {
                "permissions" : [
                "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
  				"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
                "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
                "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>"
                ]
            },

二、尝试动态获取用户位置信息权限

javascript 复制代码
    // 请求位置权限
    requestLocationPermission() {
      if (plus.os.name.toLowerCase() === "android") {
        plus.android.requestPermissions(
          [
            "android.permission.ACCESS_FINE_LOCATION",
            "android.permission.ACCESS_COARSE_LOCATION",
          ],
          function(result) {
            console.log("位置权限请求结果:", result);
          },
          function(error) {
            console.error("位置权限请求错误:", error);
          }
        );
      }
    },

三、使用uniapp的getNetworkType先获取网络状态,判断是否连接了wifi

javascript 复制代码
   uni.getNetworkType({
		success: (res) => {
          if (res.networkType === "wifi") {
            // 已连接WiFi,尝试获取SSID
            this.getWifiSSID();
          } else {
            // 未连接WiFi
            console.log('未连接WiFi网络');
          }
        },
        fail: (err) => {
          console.error('获取网络类型失败:', err);
        },});

四、获取WiFi SSID

javascript 复制代码
    getWifiSSID() {
      // console.log('尝试获取WiFi SSID');
      if (window.plus) {
        try {
          // 主窗体
          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");

          // 获取WIFI管理实例
          var wifiManager = MainActivity.getSystemService(Context.WIFI_SERVICE);
          // 获取当前连接WIFI的信息
          var info = wifiManager.getConnectionInfo();
          // 获取当前WIFI连接的SSID (WIFI名称)
          var ssid = info.getSSID();

          console.log('原始SSID:', ssid);

          // SSID带双引号,需要处理一下
          ssid = ssid.replace(/(^\"*)|(\"*$)/g, "");

          console.log('处理后SSID:', ssid);

          // 处理<unknown ssid>的情况
          if (ssid && ssid !== "<unknown ssid>") {
            console.log('WiFi SSID:', ssid, '是否为公司WiFi:', this.isInCompanyWifi);
          } else {
           console.log("无法识别WiFi名称");
          }
        } catch (e) {
          console.error('获取WiFi SSID异常:', e);
        }
      }
    },
相关推荐
2501_915909065 小时前
苹果上架App软件全流程指南:iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传与审核技巧详解
android·ios·小程序·https·uni-app·iphone·webview
2501_915921435 小时前
iOS 文件管理与能耗调试结合实战 如何查看缓存文件、优化电池消耗、分析App使用记录(uni-app开发与性能优化必备指南)
android·ios·缓存·小程序·uni-app·iphone·webview
小徐_23335 小时前
uni-app 也能使用 App.vue?wot-starter 是这样实现的!
前端·uni-app
2501_915918415 小时前
App 苹果 上架全流程解析 iOS 应用发布步骤、App Store 上架流程
android·ios·小程序·https·uni-app·iphone·webview
哆啦A梦15886 小时前
uniapp分包实现
前端·vue.js·uni-app·vue3
2501_916007476 小时前
苹果上架全流程详解,iOS 应用发布步骤、App Store 上架流程、uni-app 打包上传与审核要点完整指南
android·ios·小程序·https·uni-app·iphone·webview
jingling5557 小时前
uniapp | 实现微信小程序端的分包处理
微信小程序·小程序·uni-app
约翰先森不喝酒7 小时前
uni-app 网络请求封装实战:打造高效、可维护的HTTP请求框架
uni-app
2501_915921437 小时前
iOS App 性能监控与优化实战 如何监控CPU、GPU、内存、帧率、耗电情况并提升用户体验(uni-app iOS开发调试必备指南)
android·ios·小程序·uni-app·iphone·webview·ux
Digitally8 小时前
如何将视频从安卓手机传输到电脑?
android·智能手机·电脑