当前位置: 首页 > news >正文

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

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

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

            /* 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\"/>"]},

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

    // 请求位置权限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

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

四、获取WiFi SSID

    getWifiSSID() {// console.log('尝试获取WiFi SSID');if (window.plus) {try {// 主窗体var MainActivity = plus.android.runtimeMainActivity();// 上下文var Context = plus.android.importClass("android.content.Context");// 导入WIFI管理和WIFI信息的classplus.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);}}},
http://www.xdnf.cn/news/1102537.html

相关文章:

  • GIC控制器 (三)
  • 飞算JavaAI进阶:重塑Java开发范式的AI革命
  • 语音对话秒译 + 视频悬浮字 + 相机即拍即译:ViiTor 如何破局跨语言场景?
  • 上位机知识篇---Docker
  • SpringCloud之Ribbon
  • 从延迟测试误区谈起:SmartPlayer为何更注重真实可控的低延迟?
  • 飞算JavaAI 实战笔记
  • 从零实现一个GPT 【React + Express】--- 【3】解析markdown,处理模型记忆
  • 继承和多态扩展学习
  • 没有Mac如何完成iOS 上架:iOS App 上架App Store流程
  • Django--02模型和管理站点
  • 【Springboot】Bean解释
  • CPT203-Software Engineering: Project Managent 项目管理
  • 继承 示例
  • 飞算 JavaAI:开启 Java 开发新时代
  • 使用Python将目录中的JPG图片按后缀数字从小到大顺序纵向拼接,很适合老师发的零散图片拼接一个图片
  • Set 二分 -> 剑指算法竞赛
  • 【9】PostgreSQL 之 vacuum 死元组清理
  • Ant ASpin自定义 indicator 报错
  • 模拟开关、可编程增益仪表放大器电路
  • VLM-R1 + GRPO 算法完整复现全过程日志
  • 随手记录第二十话 -- Python3版本虚拟环境安装与AI的接入使用
  • RuoYi+Uniapp(uni-ui)开发商城系统
  • python学习DataFrame数据结构
  • 数据结构第一章复杂度的认识
  • 【java17】使用 Word 模板导出带替换符、动态表格和二维码的文档
  • iOS 数组如何设计线程安全
  • 提示工程:突破Transformer极限的计算科学
  • 工具分享--IP与域名提取工具
  • Spring 声明式事务:从原理到实现的完整解析