关于检测手机信号强度,wifi信号强度以及检测周围wifi热点的一个小例子
From: http://blog.csdn.net/wanglj0925/article/details/7743182
一.检测手机信号强度
检测手机信号强度需要用到TelephonyManager类 这个类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法。其中包括手机SIM的状态和信息、电信网络的状态及手机用户的信息。在应用程序中可以使用这些get方法获取相关数据。还有监听手机内部的状态PhoneStateListener类,主要监听手机的服务的状态、信号强度、消息等待指示(语音信箱)、通话转移、呼叫状态、设备单元位置、数据连接状态、数据流量方向。
1.初始化TelephonyManager得到对象
- telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
2.监听手机内部状态
- PhoneStateListener pStateListener = new PhoneStateListener() {
- @Override
- public void onSignalStrengthChanged(int asu) {
- // TODO Auto-generated method stub
- super.onSignalStrengthChanged(asu);
- //Log.d("ok", ""+asu);
- }
- @Override
- public void onSignalStrengthsChanged(SignalStrength signalStrength) {
- // TODO Auto-generated method stub
- super.onSignalStrengthsChanged(signalStrength);
- if (signalStrength.isGsm()) {
- //得到手机G网信号强度值
- signalDec = signalStrength.getGsmSignalStrength();
- }
- }
- };
3.设置监听
- telephonyManager.listen(pStateListener,PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
这样就能得到手机的信号强度了,当然还有关于手机一些其他的信息也可以通过 TelephonyManager的get方法得到。
二.检测wifi信号强度
获取wifi信号强度要用到的类有WifiManager和WifiInfo
1.初始化WifiManager得到对象
- wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
2.通过 WifiManager对象得到WifiInfo对象
- WifiInfo mWifiInfo = wifiManager.getConnectionInfo();
3.获取wifi信号强度
- wifiDec = mWifiInfo.getRssi();
三.获取周围的wifi热点
首先我们要获取wifi热点时必须保证手机的wifi开关已经打开,这里先用判断wifi的状态
通过wifiManager.getWifiState()来获取wifi的当前状态,返回的是一个int值,1代表当前状态不可用,3代表可用
如果当前wifi开关为关闭时设置wifiManager.setWifiEnabled(true);为true时便可打开wifi开关
获取周围的wifi热点,它是一个List集合List<ScanResult>。
- List<ScanResult> scanResultsList = wifiManager.getScanResults();
这样就得到了周围wifi热点的一个List集合,显示到listview就好了
四.实现效果图
wifi开关没有打开时
有可用的wifi时
最后说明下如果你的wifi信号强度大于-70表示还不错,小于-70那信号就很差了
源码在我的资源里面,要一起学习的同学可以去下载,写的很乱。
关于检测手机信号强度,wifi信号强度以及检测周围wifi热点的一个小例子相关推荐
- 有没有测试手机硬件是否损坏的软件,怎么检测手机硬件故障
怎么检测手机硬件故障 你们知道怎么检测手机故障的问题吗,下面是小编带来的关于怎么检测手机硬件故障的内容,欢迎阅读! 怎么检测手机硬件故障? 检查电池是否正常. 用橡皮将电池与手机上的触电轻轻擦. 使用 ...
- 深度学习和目标检测系列教程 6-300:目标检测Fast-RCNN架构
@Author:Runsen 使用 R-CNN 进行对象检测存在一些缺点. R-CNN 消耗了大量的时间.存储和计算能力. R-CNN 有一个复杂的多阶段训练管道(3 阶段--对数损失.SVM 和 B ...
- android WIFI 信号强度检测
前几天开会,领导突然说让我们增加个功能,和手机WIFI信号图标一样,会随着信号强度的强弱来改变.(因为我们这里所有状态栏都是隐藏了的,所以这些小东西都得自己写了). 好了,言归正传.我们来说说如何实现 ...
- 【转】如何检测wifi信号强度? -- 不错
原文网址:http://jingyan.baidu.com/article/90895e0fe9616164ec6b0b88.html 当我们在使用wifi上网时,在某些角落会出现无wifi信号,或是 ...
- Mac OS X Lion 系统中检测 WiFi 信号强度
Mac OS X Lion 系统中检测 WiFi 信号强度 很多果迷老觉得在家里用 Wi-Fi 无线上网速度比较慢,但自己又不清楚到底是不是路由器摆放的位置不对.其实,Mac 电脑的 OS X Lio ...
- 用Arduino和esp8266检测WIFI信号强度
用Arduino和esp8266检测WIFI信号强度 用Arduino和esp8266检测WIFI信号强度 本文章是记录我个人在做 ESP8266和arduino之间的通信的过程和心得,我将其分享给大 ...
- ESP32-网络开发实例-扫描可用WiFi网络及WiFi信号强度检测
扫描可用WiFi网络及WiFi信号强度检测 NodeMCU-32S 最强的ESP32 开发板非盗版或副厂的CH340 WiFi 蓝牙ESP-32 可用Arduino IDE ESP32-S 是一款通用 ...
- android 获取wifi信号强度,获取wifi当前手机连接的wifi信息以及信号强度
1.获得WifiManager对象WifiManager wm = (WifiManager) getApplicationContext().getSystemService(Context.WIF ...
- mac地址扫描源码_iNet Network Scanner扫描网络,及时反馈WiFi信号强度!
想要好用的Mac网络扫描工具?iNet Network Scanner mac版是一款Macos上一款不错的Mac网络扫描软件,为您提供有关您Mac网络和您的Mac连接到设备的所有信息.能够反馈出Wi ...
最新文章
- WebStorm配置SVN
- QCOW2 — ROW/COW 快照技术原理解析
- mysql sha1prng_Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException | 学步园...
- Windows下使用IDEA+Maven搭建本地Hadoop环境
- 7 useLayoutEffect、useDebugValue
- 教学案例 计算机,宁夏计算机教学案例
- springboot导包显示不存在_基础篇:Spring Boot入门体验(图文教程)
- 百度地图POI数据爬取,突破百度地图API爬取数目“400条“的限制11。
- ES8新特性_await表达式---JavaScript_ECMAScript_ES6-ES11新特性工作笔记049
- git rebase之前需要 commit 才行
- java我的世界显示合成表_我的世界:若从你的背包移除“合成表”,回到5年前,最原始状态...
- jsp session 的状态保持, cookie的跨域访问(一)
- 大话WebRTC的前世今生
- C++:round函数用法
- GStreamer基础教程之GStreamer工具
- HTML中svg的作用,html中的svg可以用来干什么
- windows下安装禅道
- 科技驰援 攻坚战疫 | 用友助力武汉协和医院部署捐赠物资管理系统,保证“物尽其用”...
- 【34期】谈谈为什么要拆分数据库?有哪些方法?
- Retrofit + Rxjava框架学习使用(举例:酷狗搜索和详情接口)
热门文章
- Android 短信解析
- mysql 查出相差年数_MySQL计算两个日期相差的天数、月数、年数
- 数据可视化 信息可视化_可视化数据以帮助清理数据
- 使用机器学习预测天气_如何使用机器学习预测着陆
- pd种知道每个数据的类型_每个数据科学家都应该知道的5个概念
- android 线程池
- flask框架视图和路由_角度视图,路由和NgModule的解释
- php amazon-s3_推荐亚马逊电影-一种协作方法
- 笑看职场什么程序员才抢手,什么样的程序员涨薪多?
- ES6之路第十三篇:Iterator和for...of循环