当前位置: 首页 > 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.dtcms.com/a/273485.html

相关文章:

  • 如何将文件从OPPO手机传输到电脑
  • 视频人脸处理——人脸面部动作提取
  • 虹科分享 | 告别实体钥匙!数字钥匙正在重构你的用车体验
  • 计算机毕业设计ssm基于JavaScript的餐厅点餐系统 SSM+Vue智慧餐厅在线点餐管理平台 JavaWeb前后端分离式餐饮点餐与桌台调度系统
  • 【前端】【组件库开发】【原理】【无框架开发】现代网页弹窗开发指南:从基础到优化
  • Python day58
  • rom定制系列------红米note10 5G版camellia原生安卓14批量线刷 miui安卓11修改型号root版
  • php use 命名空间与 spl_autoload_register的关系
  • Microsoft Word 中 .doc 和 .docx 的区别
  • 重构下一代智能电池“神经中枢”:GCKontrol定义高性能BMS系统级设计标杆
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 41(题目+回答)
  • 基于开源AI智能名片链动2+1模式与S2B2C商城小程序的渠道选择策略研究
  • SpringDataRedis入门
  • 慕尚花坊项目笔记
  • ADSP-21489用SigmaStudio+(SS+)来做开发的详解六、T的用法
  • 工业通信升级新选择:耐达讯CCLINKIE转Modbus TCP网关
  • Vue 动态类名实战讲解
  • 生物化学(实验流程) PCR : 植物提取RNA 电泳评估RNA纯度
  • leetcode:377. 组合总和 Ⅳ[完全背包]
  • 在mac m1基于ollama运行deepseek r1
  • 静态POD是啥,如何理解,应用场景
  • 千辛万苦3面却倒在性格测试?这太离谱了吧!
  • 第十五章 STL(stack、queue、list、set、map容器使用)
  • 如何将 iPhone 文件传到 Mac?
  • C++11中的std::minmax与std::minmax_element:原理解析与实战
  • macOS 笔记本下 Gemini CLI 客户端网络连接问题诊断与解决方案
  • Android开发封装防抖xxx秒操作
  • 莫兰迪色系工作总结汇报PPT模版分享
  • Java 中使用 Stream 将 List 转换为 Map 实战笔记(生产级版)
  • 用 React Three Fiber 实现 3D 城市模型的扩散光圈特效