From: http://blog.csdn.net/wanglj0925/article/details/7743182

一.检测手机信号强度

检测手机信号强度需要用到TelephonyManager类 这个类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。还有监听手机内部的状态PhoneStateListener类,主要监听手机的服务的状态、信号强度、消息等待指示(语音信箱)、通话转移、呼叫状态、设备单元位置、数据连接状态、数据流量方向。

1.初始化TelephonyManager得到对象

[java] view plaincopy
  1. telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

2.监听手机内部状态

[java] view plaincopy
  1. PhoneStateListener pStateListener = new PhoneStateListener() {
  2. @Override
  3. public void onSignalStrengthChanged(int asu) {
  4. // TODO Auto-generated method stub
  5. super.onSignalStrengthChanged(asu);
  6. //Log.d("ok", ""+asu);
  7. }
  8. @Override
  9. public void onSignalStrengthsChanged(SignalStrength signalStrength) {
  10. // TODO Auto-generated method stub
  11. super.onSignalStrengthsChanged(signalStrength);
  12. if (signalStrength.isGsm()) {
  13. //得到手机G网信号强度值
  14. signalDec = signalStrength.getGsmSignalStrength();
  15. }
  16. }
  17. };

3.设置监听

[java] view plaincopy
  1. telephonyManager.listen(pStateListener,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);

这样就能得到手机的信号强度了,当然还有关于手机一些其他的信息也可以通过 TelephonyManager的get方法得到。

二.检测wifi信号强度

获取wifi信号强度要用到的类有WifiManager和WifiInfo

1.初始化WifiManager得到对象

[java] view plaincopy
  1. wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);

2.通过 WifiManager对象得到WifiInfo对象

[java] view plaincopy
  1. WifiInfo mWifiInfo = wifiManager.getConnectionInfo();

3.获取wifi信号强度

[java] view plaincopy
  1. wifiDec = mWifiInfo.getRssi();

三.获取周围的wifi热点

首先我们要获取wifi热点时必须保证手机的wifi开关已经打开,这里先用判断wifi的状态

通过wifiManager.getWifiState()来获取wifi的当前状态,返回的是一个int值,1代表当前状态不可用,3代表可用

如果当前wifi开关为关闭时设置wifiManager.setWifiEnabled(true);为true时便可打开wifi开关

获取周围的wifi热点,它是一个List集合List<ScanResult>。

[java] view plaincopy
  1. List<ScanResult> scanResultsList = wifiManager.getScanResults();

这样就得到了周围wifi热点的一个List集合,显示到listview就好了

四.实现效果图

wifi开关没有打开时

有可用的wifi时

最后说明下如果你的wifi信号强度大于-70表示还不错,小于-70那信号就很差了

源码在我的资源里面,要一起学习的同学可以去下载,写的很乱。

关于检测手机信号强度,wifi信号强度以及检测周围wifi热点的一个小例子相关推荐

  1. 有没有测试手机硬件是否损坏的软件,怎么检测手机硬件故障

    怎么检测手机硬件故障 你们知道怎么检测手机故障的问题吗,下面是小编带来的关于怎么检测手机硬件故障的内容,欢迎阅读! 怎么检测手机硬件故障? 检查电池是否正常. 用橡皮将电池与手机上的触电轻轻擦. 使用 ...

  2. 深度学习和目标检测系列教程 6-300:目标检测Fast-RCNN架构

    @Author:Runsen 使用 R-CNN 进行对象检测存在一些缺点. R-CNN 消耗了大量的时间.存储和计算能力. R-CNN 有一个复杂的多阶段训练管道(3 阶段--对数损失.SVM 和 B ...

  3. android WIFI 信号强度检测

    前几天开会,领导突然说让我们增加个功能,和手机WIFI信号图标一样,会随着信号强度的强弱来改变.(因为我们这里所有状态栏都是隐藏了的,所以这些小东西都得自己写了). 好了,言归正传.我们来说说如何实现 ...

  4. 【转】如何检测wifi信号强度? -- 不错

    原文网址:http://jingyan.baidu.com/article/90895e0fe9616164ec6b0b88.html 当我们在使用wifi上网时,在某些角落会出现无wifi信号,或是 ...

  5. Mac OS X Lion 系统中检测 WiFi 信号强度

    Mac OS X Lion 系统中检测 WiFi 信号强度 很多果迷老觉得在家里用 Wi-Fi 无线上网速度比较慢,但自己又不清楚到底是不是路由器摆放的位置不对.其实,Mac 电脑的 OS X Lio ...

  6. 用Arduino和esp8266检测WIFI信号强度

    用Arduino和esp8266检测WIFI信号强度 用Arduino和esp8266检测WIFI信号强度 本文章是记录我个人在做 ESP8266和arduino之间的通信的过程和心得,我将其分享给大 ...

  7. ESP32-网络开发实例-扫描可用WiFi网络及WiFi信号强度检测

    扫描可用WiFi网络及WiFi信号强度检测 NodeMCU-32S 最强的ESP32 开发板非盗版或副厂的CH340 WiFi 蓝牙ESP-32 可用Arduino IDE ESP32-S 是一款通用 ...

  8. android 获取wifi信号强度,获取wifi当前手机连接的wifi信息以及信号强度

    1.获得WifiManager对象WifiManager wm = (WifiManager) getApplicationContext().getSystemService(Context.WIF ...

  9. mac地址扫描源码_iNet Network Scanner扫描网络,及时反馈WiFi信号强度!

    想要好用的Mac网络扫描工具?iNet Network Scanner mac版是一款Macos上一款不错的Mac网络扫描软件,为您提供有关您Mac网络和您的Mac连接到设备的所有信息.能够反馈出Wi ...

最新文章

  1. WebStorm配置SVN
  2. QCOW2 — ROW/COW 快照技术原理解析
  3. mysql sha1prng_Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException | 学步园...
  4. Windows下使用IDEA+Maven搭建本地Hadoop环境
  5. 7 useLayoutEffect、useDebugValue
  6. 教学案例 计算机,宁夏计算机教学案例
  7. springboot导包显示不存在_基础篇:Spring Boot入门体验(图文教程)
  8. 百度地图POI数据爬取,突破百度地图API爬取数目“400条“的限制11。
  9. ES8新特性_await表达式---JavaScript_ECMAScript_ES6-ES11新特性工作笔记049
  10. git rebase之前需要 commit 才行
  11. java我的世界显示合成表_我的世界:若从你的背包移除“合成表”,回到5年前,最原始状态...
  12. jsp session 的状态保持, cookie的跨域访问(一)
  13. 大话WebRTC的前世今生
  14. C++:round函数用法
  15. GStreamer基础教程之GStreamer工具
  16. HTML中svg的作用,html中的svg可以用来干什么
  17. windows下安装禅道
  18. 科技驰援 攻坚战疫 | 用友助力武汉协和医院部署捐赠物资管理系统,保证“物尽其用”...
  19. 【34期】谈谈为什么要拆分数据库?有哪些方法?
  20. Retrofit + Rxjava框架学习使用(举例:酷狗搜索和详情接口)

热门文章

  1. Android 短信解析
  2. mysql 查出相差年数_MySQL计算两个日期相差的天数、月数、年数
  3. 数据可视化 信息可视化_可视化数据以帮助清理数据
  4. 使用机器学习预测天气_如何使用机器学习预测着陆
  5. pd种知道每个数据的类型_每个数据科学家都应该知道的5个概念
  6. android 线程池
  7. flask框架视图和路由_角度视图,路由和NgModule的解释
  8. php amazon-s3_推荐亚马逊电影-一种协作方法
  9. 笑看职场什么程序员才抢手,什么样的程序员涨薪多?
  10. ES6之路第十三篇:Iterator和for...of循环