<3G与2G信号区分>

<BatteryStatsImpl.java>

if (!signalStrength.isGsm()) {

int dBm = signalStrength.getCdmaDbm();
   if (dBm >= -75) bin = SIGNAL_STRENGTH_GREAT;
   else if (dBm >= -85) bin = SIGNAL_STRENGTH_GOOD;
   else if (dBm >= -95) bin = SIGNAL_STRENGTH_MODERATE;
   else if (dBm >= -100) bin = SIGNAL_STRENGTH_POOR;
   else bin = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
} else {
   int asu = signalStrength.getGsmSignalStrength();
   if (asu < 0 || asu >= 99) bin = SIGNAL_STRENGTH_NONE_OR_UNKNOWN;
   else if (asu >= 16) bin = SIGNAL_STRENGTH_GREAT;
   else if (asu >= 8) bin = SIGNAL_STRENGTH_GOOD;
   else if (asu >= 4) bin = SIGNAL_STRENGTH_MODERATE;
   else bin = SIGNAL_STRENGTH_POOR;

}

<Phone.java>

GSM信号单位<dBm-asu>换算公式:dBm = -113 -2*asu;

/**
* Get current signal strength. No change notification available on this
* interface. Use <code>PhoneStateNotifier</code> or an equivalent.
* An ASU is 0-31 or -1 if unknown (for GSM, dBm = -113 - 2 * asu).
* The following special values are defined:</p>
* <ul><li>0 means "-113 dBm or less".</li>
* <li>31 means "-51 dBm or greater".</li></ul>
*
* @return Current signal strength as SignalStrength
*/
SignalStrength getSignalStrength();

其它信息:

4G:

String ssignal = signalStrength.toString();
String[] parts = ssignal.split(" ");

String ssignal = signalStrength.toString();

String[] parts = ssignal.split(" ");
The parts[] array will then contain these elements:

part[0] = "Signalstrength:"  _ignore this, it's just the title_
parts[1] = GsmSignalStrength
parts[2] = GsmBitErrorRate
parts[3] = CdmaDbm
parts[4] = CdmaEcio
parts[5] = EvdoDbm
parts[6] = EvdoEcio
parts[7] = EvdoSnr
parts[8] = LteSignalStrength
parts[9] = LteRsrp
parts[10] = LteRsrq
parts[11] = LteRssnr
parts[12] = LteCqi
parts[13] = gsm|lte
parts[14] = _not really sure what this number is_

So, LTEdBm is :
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
int dbm = 0;
if ( tm.getNetworkType() == TelephonyManager.NETWORK_TYPE_LTE){
   dbm = Integer.parseInt(parts[8])*2-113;
}
else{
   if (signalStrength.getGsmSignalStrength() != 99) {
                   int intdbm = -113 + 2
                           * signalStrength.getGsmSignalStrength();
                   dbm = Integer.toString(intdbm);
               }
}

//GSM信号单位<dBm-asu>换算公式:dBm = -113 +2*asu;

参考:

http://code.taobao.org/p/cnandroiddocs/src/trunk/telephony/java/android/telephony/CellSignalStrengthLte.java

Android手机信号相关推荐

  1. 去除android手机信号图标

    由于是二次转载, 没找到原文链接, 敬请原作者谅解. 去除android2.1手机信号图标 2010-12-17 16:05 今天将android2.1中状态栏中手机.3G等信号图片去除掉,因为开发a ...

  2. android手机信号测试,买手机别只看性能!教你测试手机信号好坏

    1手机移动网络/WiFi信号测试:Network Signal Info 手机已经变得越来越强大,甚至很多人已经用手机取代了PC电脑的大部分功能.但手机毕竟是手机,8核CPU也好,3G内存也好,终究还 ...

  3. android 手机信号软件增强方案

    解决方案: public int mapUmtsSignalLevel(int phoneId, int UmtsRscp) {// [ALPS03252546] -- START , for 3G ...

  4. Android基站定位——通过手机信号获取基站信息

    基站定位原理:通过手机信号获取基站信息,然后调用第三方公开的根据基站信息查找基站的经纬度值,想要具体地址信息的再根据经纬度值获取具体的地址信息. 一.通过手机信号获取基站信息 通过TelephonyM ...

  5. Android手机界面绘制类似wifi信号图标

    在Android手机程序中调用画布绘制类似手机wifi信号,如下图: 红色圆圈为底,灰色弧线为信号,白色弧线覆盖灰色弧线表示信号强度. //参数设置 private int ox;//绘制起始位置的x ...

  6. Android 信号查看,安卓Android手机怎么快速查看系统信号强度

    核心提示:我们能够在自己的Android手机中查看到目前所在网络的信号强度情况吗?在本篇教程中将会为你介绍安卓Android手机怎么快速查看系统信号强度! 手机最大的功能自然是打电话和发短信等基础性电 ...

  7. Android基站定位——通过手机信号获取基站信息(一)

    转载请标明出处:http://blog.csdn.net/android_ls/article/details/8672442 基站定位原理:通过手机信号获取基站信息,然后调用第三方公开的根据基站信息 ...

  8. delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收

    delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收 今天,群里有几位同学讨论这个问题,汇总了一下,分享出来,供同学们学习研究. 一.直接上代码示例 1.屏蔽应 ...

  9. wifi 信号差 android,手机WiFi信号弱怎么办 手机WiFi信号突然变弱的解决方法

    有不少网友发现,有时候手机接收的WiFi信号会突然变得很弱,这样就大大影响了我们看视频.刷微博.玩游戏的心情了,那么手机WiFi信号弱怎么办呢?接下来,小编就为大家带来手机WiFi信号突然变弱解决办法 ...

最新文章

  1. mssql自定义函数中使用游标
  2. Android开发UI之Fragment-Tabbed Activity的使用
  3. 微信小程序实现数字为四位一组间隔(仿银行卡卡号)
  4. Unable to locate tools.jar
  5. java简单数据结构_图解Java常用数据结构
  6. 【SQL Server中SMO的简单使用】 (装载)
  7. 发布会后库克接受采访:对AR感到无比兴奋
  8. itext 生成pdf 输出特殊符号_JAVA提取PDF内容及转换PDF为图片
  9. 索益Mike的excel商品操作
  10. postgresql 窗口函数
  11. .net DLL反编译文件
  12. 双因素方差分析和单因素方差分析
  13. 微信公众号授权,支付,退款总结【shoucang】
  14. db mysql error_list
  15. 酒越陈越醇,OPPO Reno越更越香
  16. Opensea到底是怎么交易NFT的
  17. JAVA企业面试题精选 Servlet和JSP 1-10
  18. solidworks中加入参考图纸图片
  19. Maven 报错:Cannot resolve plugin org.apache.maven.plugins:maven-resources-plugin:2.6
  20. 微软校招面试题3-15 (一道经典算法,一道比较难的题目)

热门文章

  1. 汽车之家精选论坛图片下载
  2. fl studio mobile安卓,ios下载
  3. Redis复制:部分同步PSYNC详解
  4. 计算机组成和导论,计算机科学导论五第章计算机组成
  5. 好的博客(给自己翻译用)
  6. 【翠花学Maven】Maven详解
  7. 阿里云服务器是如何实现每台服务器都是公网IP的呢?
  8. 由“功夫熊猫”想到了“侠”
  9. vnc远程linux命令,用VNC实现远程桌面共享(支持Windows, Linux, …) | 易水博客
  10. dict 方法汇总