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

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.   
  3.             @Override  
  4.             public void onSignalStrengthChanged(int asu) {  
  5.                 // TODO Auto-generated method stub  
  6.                 super.onSignalStrengthChanged(asu);  
  7.                 //Log.d("ok", ""+asu);  
  8.             }  
  9.   
  10.             @Override  
  11.             public void onSignalStrengthsChanged(SignalStrength signalStrength) {  
  12.                 // TODO Auto-generated method stub  
  13.                 super.onSignalStrengthsChanged(signalStrength);  
  14.                 if (signalStrength.isGsm()) {  
  15.                     //得到手机G网信号强度值  
  16.                     signalDec = signalStrength.getGsmSignalStrength();  
  17.                 }  
  18.             }  
  19.         };  

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那信号就很差了

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405479.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

转载:关于爱情、伴侣、承诺、人生、

关于爱情&#xff1a; 不要认为后面还有更好的&#xff0c;因为现在拥有的就是最好的。 不要认为还年轻可以晚些结婚&#xff0c;爱情是不等年龄的。 不要因为距离太远而放弃&#xff0c;爱情可以和你一起坐火车的。 不要因为对方不富裕而放弃&#xff0c;只要不是无能的人&am…

Net4.0的网站在IE10、IE11出现“__doPostBack未定义”的解决办法。

方法一、浏览器设置成兼容模式。 方法二、安装服务器版的.Net40的补丁。http://download.csdn.net/detail/5653325/6642051 方法三、点击VS的工具菜单--》库程序包管理器--》程序包管理器控制台&#xff08;如果没有“库程序包管理器”的菜单&#xff0c;就先点那个“扩展管理器…

数理统计中的卡方分布,t分布和F分布

有很多统计推断是基于正态分布的假设&#xff0c;以标准正态分布变量为基石而构造的三个著名统计量在实际中有广泛的应用&#xff0c;这是因为这三个统计量不仅有明确背景&#xff0c;而且其抽样分布的密度函数有显式表达式&#xff0c;它们被称为统计中的“三大抽样分布”。这…

Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization

克隆虚拟机后&#xff0c;网卡无法启动&#xff0c;并报如下错误&#xff1a; 解决办法1.修改虚拟机克隆机的HWADDR为ifconfig -a的MAC地址 形如&#xff1a;HWADDR"xx:xx:xx:xx:xx:xx" 2.然后再做以下操作 # rm -rf /etc/udev/rules.d/70-persistent-net.rules # re…

在计算机发展的早期 计算机主要用于,全国网络统考《计算机应用基础》选择题复习...

全国网络统考《计算机应用基础》选择题复习 全国网络统考《计算机应用基础》选择题复习第一章计算机基础知识【例题与解析】、一般认为&#xff0c;世界上第一台电子计算机诞生于()。年年年年【解析一般认为&#xff0c;世界上第一台数字计算机于年在美国宾夕法尼亚大学研制成功…

数理统计中95%置信区间的含义

95%置信区间&#xff0c;意味着如果你用同样的步骤&#xff0c;去选样本&#xff0c;计算置信区间&#xff0c;那么100次这样的独立过程&#xff0c;有95%的概率你计算出来的区间会包含真实参数值&#xff0c;即大概会有95个置信区间会包含真值。而对于某一次计算得到的某一个置…

Linux 程序后台运行与删除

一、查看进程&#xff1a;ps 或 ps -a 二、命令后台运行&#xff1a; sudo ./runmyled.o& 命令后边跟个&, 返回进程id号 三、查看当前的进程&#xff1a; 四、删除进程&#xff1a;sudo kill id1 id2 id3

jquery html 片段,十条jQuery代码片段助力Web开发效率提升

JQuery是继prototype之后又一个优秀的Javascript库。它是轻量级的js库 &#xff0c;它兼容CSS3&#xff0c;还兼容各种浏览器(IE 6.0, FF 1.5, Safari 2.0, Opera 9.0)&#xff0c;jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语…

React开发(255):react项目理解 ant design 注意报错提示

if (res.data.records.length 0 && pageUserIndex > 1) {

华为IoT平台NB编解码插件开发详细教程【上篇】

目录 0、前言 一、环境搭建 1.1 安装JDK 1.2 安装eclipse 1.3 安装Maven 二、Profile说明 三、插件编写 3.1 源文件说明 3.2 修改文件路径&#xff08;包含&#xff09; 3.3 修改pom.xml 3.4 导入工程 3.5 代码实现 3.6 生成jar包 0、前言 本教程分为上、下篇&am…

用MySQL实现微博关注关系的方案分析

关注关系产生的四种关系状态 关注粉丝双向关注(互粉)无关系用词follower表示粉丝 -- 追随者 用词following表示关注 -- 追随 设计的结构必须能满足以下功能&#xff1a; 查询关注列表查询粉丝列表查询双向关注列表判断两个用户的关系查询带关系状态的任一列表第一种方案 用一行…

带你封装一个上传图片组件(ant design+react)

目录 需求实现 实现效果 代码封装 UploadImage组件 备注 BaseUploadImage组件 index.less 样式文件 父组件引用 需求实现 1可以支持上传最多九张图片 2图片支持预览 替换 删除 3支持自定义上传文件大小 格式 未上传提示 实现效果 代码封装 UploadImage组件 * Descri…

计算机面试的时候写过的代码,程序员悲催瞬间:来之不易的美团面试,我尽然挂了(还原真实场景)...

一面1、自我介绍答&#xff1a;自我介绍是面试中唯一的自己主动介绍自己的环节&#xff0c;一定要好好把握好&#xff0c;你数据结构学的号可以手撕一个红黑树你就说我数据结构掌握地很好&#xff0c;反正就是要把自己的优势凸显出来&#xff0c;比如自己对于java的知识较熟悉&…

华为IoT平台NB编解码插件开发详细教程【下篇】

上篇文章介绍了编解码开发汇总的环境搭建、Profile说明和插件编写&#xff0c;本篇教程就插件打包、插件质检和插件签名详解。 目录 四、插件打包 五、插件质检 六、插件签名 七、附件 四、插件打包 1、新建package文件&#xff0c;包含一个“preload”子文件夹&#xff…

【PostGIS】PostgreSQL15+对应PostGIS安装教程及空间数据可视化

一、PostgreSQL15与对应PostGIS安装 PostgreSQL15安装&#xff1a;下载地址PostGIS安装&#xff1a;下载地址&#xff08;选择倒数第二个&#xff09; 1、PostgreSQL安装 下载安装包&#xff1b;开始安装&#xff0c;这里使用默认安装&#xff0c;一直next直到安装完成&…

React实现图片自适应

数据格式 [1xxxx,2xxxx,3xxxx,4xxxx,5xxxx,6xxxx,7xxxx,8,xxxx,9xxxx] 运行效果 代码部分 <divgutter{24}style{{width: 100%,display: flex,justifyContent: space-between,flexWrap: wrap ,}}>{item.imgList &&item.imgList.map((itemList, index) > (<…