Android:如何获得3G / UMTS信号强度值

时间:2010-09-27 00:11:43

标签: java android

我是一名蜂窝RF工程师,一直试图从Android SDK环境中获取一些特定的WCDMA / 3G / UMTS信号测量值。使用公共类SignalStrength我使用getGsmSignalStrength()成功获得了有意义的GSM值(在软件工程师的帮助下),但只为getCdmaDbm()和{getCdmaEcio()获得了“-1”值分别假定返回相关的CDMA信号强度值的{1}}。 -1绝对不对!

当时我的手机肯定在UMTS上,而且我可以在现场测试软件中读取UMTS参数(为了让现场测试软件本身变得麻烦)。

我认为getCdmaDbm()getCdmaEcio()方法很可能适用于CDMA网络,而不是WCDMA(CDMA和WCDMA是不同的技术),这使我在试图获得3G方面保持高度干燥测量结果不在手机里。或者,还有其他一些方法,但我根本无法在网络上的参考资料中找到它们:

http://developer.android.com/reference/android/telephony/SignalStrength.html

有人可以帮助我吗?必须有一种方法(毕竟,现场测试s / w可以得到这些信息)但是如何?有人写了一个名为Cellumap的应用程序,它获取UMTS,GSM和CDMA测量信息。

2 个答案:

答案 0 :(得分:1)

您是否尝试过NeighboringCellInfo类的getRSSI()方法。它的描述是:

  

返回接收信号强度或UNKNOWN_RSSI(如果未知)对于GSM,   它在“asu”范围从0到31(dBm = -113 + 2 * asu)0表示   “-113 dBm或更小”和31表示“-51 dBm或更大”对于UMTS,它是   TSICH RSCP的级别索引在TS 25.125中定义

答案 1 :(得分:0)

您需要CellSignalStrengthWcdma类,该类专用于WCDMA(UMTS):

另外,请查看NeighboringCellInfo.getRssi()