2011-08-26 147 views
2

我们有一个要求,我们的Android应用程序必须检索大于-51dBm的gsm信号强度值。然而,Android documentation中提到的spec (section 8.5)表示getGsmSignalStrength()的有效返回值仅在0和31之间,映射到-113dBm和-51dBm。有没有人看到Android返回值大于31?如果是这样,这不意味着Android返回无效的信号强度值?getGsmSignalStrength()返回超出范围的值吗?

(99不计,这意味着“不知道或不检测的”)

得到一个较高的读数的任何其他方式?

感谢

+0

这很令人沮丧,因为我们所在的旧诺基亚硬件的报告值高达-10dBm。 – Diederik

回答

1

getGsmSignalStrength()实际返回ASU(激活状态更新)值。为了得到相应的RSSI,以dBm为单位,做RSSI = -113 + 2 * ASU

+0

ASU值是否可能疯狂,比如35?给出超出范围的结果[-113,-51] – Diederik

+0

我不这么认为。文档说它应该在0-31范围内。如果ASU根本不可用,它将返回99。 – Salman