前一阵子应用中有一个获取附近wifi,并以列表形式进行展示的需求。这个需求很容易满足,核心代码如下:

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

List list = wifiManager.getScanResults();

list中所存储的就是扫描附近wifi的信息。我们通过取出list中的每个ScanResult实例即可拿到附近每个wifi的详细信息。举例如下:

ScanResult scanResult = list.get(position);

//获取到wifi的名称

String SSID = scanResult.SSID;

//获取到wifi的强度(0~100)

int level = scanResult.level;

但是在昨天,我再一次打开应用查看此功能时,却不能获取到wifi的列表,此时我认为可能与我对其他部分做的修改有关?于是我使用了版本管理器查看最近的修改,发现并没有对wifi这部分的代码做过修改。接下来我去查看了在同事手机上安装的较旧一点的版本,发现都是可以获取到wifi列表的。但是在获取列表前,都会出现是否授予权限。如下图:

在选择允许后,就可以获得到附近的wifi列表,假如拒绝则不能。我就明白了,出现错误的原因应该在于我在应用的服务设置中没有开启此权限或者被系统自动关闭了。查看了下手机,果然如此,如下图:

最开始没有想到的是,获取wifi列表原来和网络或卫星定位这个权限是相关的。开启这个权限就可以了。在应用中我们可能不会知道我们关闭过这个权限,造成的结果就是用户无法使用此功能,而可能联想到这是程序的bug,因此我在应用中的解决办法是,当没有开始这个权限的时候,对用户进行一个提示。如下图:

android 如何获得附近的wifi,Android细节:扫描获取附近wifi,并以列表形式进行展示...相关推荐

  1. android获取wifi信号强度,Native.js 获取当前wifi信号强度

    使用Native.js获取当前WiFi的信号强度: //获取当前WiFi信号强度 function checkWifiSignal() { var Signal = null; var Context ...

  2. Android WiFi开发教程(二)——WiFi的搜索和连接

    在上一篇中我们介绍了WiFi热点的创建和关闭,如果你还没阅读过,建议先阅读上一篇文章Android WiFi开发教程(一)--WiFi热点的创建与关闭. 本章节主要继续介绍WiFi的搜索和连接. Wi ...

  3. Android WiFi开发教程(三)——WiFi热点数据传输

    在上一篇文章中介绍了WiFi的搜索和连接,如果你还没阅读过,建议先阅读上一篇Android WiFi开发教程(二)--WiFi的搜索和连接.本篇接着简单介绍手机上如何通过WiFi热点进行数据传输. 跟 ...

  4. android 获取连接WiFi的名称

    今天,简单讲讲如何获取连接的WiFi的名称. 首先AndroidMainfest.xml文件中添加权限: <uses-permission android:name="android. ...

  5. android p wifi一直在扫描_Android再次解读萤石云视频

    点击上方蓝字关注 ?? 前言 我之前写过一篇萤石云的集成文章,很多人问我有没有demo, 今天我再次总结一下, 并加个些功能. 集成步骤 视频预览播放 视频放大缩小 视频的质量切换 截图 之前的文章大 ...

  6. android 网络连接 网络是否可用,Android 使用ping判断网络/WIFI连接是否可用

    最近项目中有一个网络判断的需求,因为终端只能连接wifi,wifi即使连接上也可能会出现不能连接网络的问题,所以需要进行网络连接的判断. ping的相关知识 使用ping检验网络是否可以连接 ping ...

  7. android获取wifi mac地址吗,Android获取当前WiFi的MAC地址-适配所有版本

    ** Android获取当前WiFi的MAC地址 ** package com.dogness.platform.utils; import android.content.Context; impo ...

  8. android p wifi一直在扫描_Android Wifi 扫描及自动连接

    缘起 最近有个需求,要求App能够自动扫描到某个热点然后自动连接上热点.背景是我们公司属于IoT行业,这个热点是设备发出的,有固定的前缀(比如设备热点名为SmartLife-xx),可以直接连接无需密 ...

  9. Android获取手机WiFi IP地址,MAC地址和网关地址程序实例

    现在博主在上大三,正在学习一些计算机网络的一些概念,知道了局域网ip和网关ip不同的概念,当时还纳了闷了2的32次方好像不咋够用啊,原来是这个样子. 由于之前学过一段时间的Android,同时又在上A ...

最新文章

  1. python项目之网络聊天室_Python实现多人聊天室
  2. dojo/domReady! 中感叹号的作用
  3. P1966 火柴排队
  4. linux配置内存buffer,Linux中内存buffer和cache的区别
  5. XGBoost原理及在Python中使用XGBoost
  6. 商场无线网络方案设计
  7. 算法竞赛入门经典(第2版)紫书代码仓库-链接
  8. 社区保密计算机使用制度,社区保密工作制度
  9. HTML编辑器-HTML网页表单可视化在线编辑器插件大全
  10. 用什么命令表示释放计算机与网络的连接,用ipconfig命令查看计算机当前的网络配置信息等,如需释放计算机当前获得的IP地址,则需要使用的命令是()。...
  11. row_number() over (partition by....order by...)用法
  12. 微软商店上架WindowsOffice破解工具,并获5星好评?
  13. 【POJ3683】Priest John's Busiest Day(Special Judge)
  14. 【Domoticz】玩转Domoticz平台——配合ESPEasy固件,开个头,以后玩起来起来再更新博客
  15. PHP程序员需要注意的代码规范PSR有哪些?
  16. java计算器 控制台_java控制台实现的简单小系统,支持计算器功能,日历、乘法表算法...
  17. 2021年中国集成电路市场现状及封测行业重点企业对比分析:通富微电vs华天科技vs长电科技
  18. Class文件结构介绍[常量池],埃森哲java技术面试题
  19. Java毕设设计-高校运动会管理系统
  20. 拿走不谢!创客学院教你64个Linux运维必备命令行工具

热门文章

  1. SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation 论文解读
  2. python函数带()与否
  3. View的onMeasure()、onLayout()、onDraw()总结
  4. 【传感器大赏】6轴加速度计陀螺仪
  5. Go (Golang) 工具之自动化版本工具 gsemver | semver 语义化版本规范
  6. c#12星座速配代码_程序员12星座性格分析,猜猜哪个星座最适合IT行业?
  7. win10版本号怎么查看
  8. 《医院信息系统基本功能规范》2002年2月修订版
  9. 前端必备,5大mock省时提效小tips,用了提前下班一小时
  10. java计算机毕业设计校园快递联盟系统源程序+mysql+系统+lw文档+远程调试