测量手机上的“真实”手机信号强度

时间:2009-12-04 13:40:05

标签: android java-me windows-mobile mobile-phones

我想以编程方式测量手机中的手机信号强度。我实际上并不关心手机或编程环境:它可以基于Android或Windows Mobile甚至J2ME,可以来自任何制造商(请不要iPhone)。但是,它需要是真正的商用手机而不是特殊的测量设备。

这个问题并不像初看起来那么容易。我知道已经存在许多声称能够恢复手机信号强度的方法。其中一些 是:

  • WM6的SystemState.PhoneSignalStrength
  • WinCe的RIL_GetCellTowerInfo(返回的RILCELLTOWERINFO结构的dwRxLevel成员)
  • android.telephony.NeighboringCellInfo.getRssi()for android

上面的问题是它们只返回一些(不到10个)离散值,这意味着,例如,SystemState.PhoneSignalStrength的返回值只能转换为(例如)-100 dbm,-90 dbm,-80 dbm,-70 dbm和-60 dbm,这对我的应用程序没用,因为我希望尽可能多的精度。

如果有一个无证件的解决方案只能在一部手机上运行,​​如果你可以告诉我一种我会感激的方式,这无关紧要。

提前致谢

4 个答案:

答案 0 :(得分:3)

请查看有关Java ME的JSR-256 Mobile Sensor API。诺基亚S60第5版设备支持此API。您可以使用此API检查网络信号强度。但是,最好先从诺基亚论坛上了解它的粒度。

答案 1 :(得分:2)

这是我为那些仍在寻找答案的人找到的解决方案:

有些Windows移动HTC手机有一个名为fieldtest.exe的程序,其中包含我需要的信息(可能其他手机也有这个,我只测试了一个特定的HTC但是从google搜索我明白大多数HTC WM打电话吧)。现场测试程序不仅具有电话的确切信号强度,而且还有大量其他非常有用的电话信息,否则无法访问。

唯一的问题是如何在过程中使用该程序的数据,因为所有值都存储在ListView中。

嗯,这就是another question I had posted的要点。

因此,解决方案是运行fieldtest程序并从那里提取/窃取所需的值!

答案 2 :(得分:2)

有一个很好的教程可以解释如何通过手机测量Real GSM信号 试试这个教程:

http://www.firstdroid.com/2010/05/12/get-provider-gsm-signal-strength/

希望有所帮助,

阿德里安。

答案 3 :(得分:1)

在WindowsCE平台上,这可能很难。我工作的最后一个平台使用了西门子调制解调器,我可以直接访问并从中获取自己的信息。然而,自从他们最后一次更新固件后,他们现在关闭了它并强迫我通过RIL。

我猜你可能必须找到一个特定调制解调器的特定单元。但是我不知道有什么特别的。抱歉。 :(