我想以编程方式测量手机中的电话信号强度。我实际上并不关心手机或编程环境:它可以基于 android 或 windows mobile 甚至 J2ME,并且可以来自任何制造商(请不要使用 iPhone)。但是,它必须是真正的商用手机,而不是特殊的测量设备。
这个问题并不像第一眼看上去那么容易。我知道已经存在许多声称返回电话信号强度的方法。其中一些是:
- WM6 的 SystemState.PhoneSignalStrength
- WinCe 的 RIL_GetCellTowerInfo(返回的 RILCELLTOWERINFO 结构的 dwRxLevel 成员)
- android.telephony.NeighboringCellInfo.getRssi() 用于安卓
上面的问题是它们只返回几个(小于 10)离散值,这意味着,例如,SystemState.PhoneSignalStrength 的返回值只能转换为(例如)-100 dbm、-90 dbm、- 80 dbm、-70 dbm 和 -60 dbm,这对我的应用程序没有用处,因为我希望有尽可能高的精度。
是否存在仅适用于一部手机的无证解决方案并不重要,如果您能告诉我一种方法,我将不胜感激。
提前致谢