我希望能编程测量移动电话中的信号强度,不关心手机或编程环境:它可以基于Android、Windows Mobile 或甚至是 J2ME,并且可以来自任何制造商(请勿使用iPhone)。然而,需要使用真正的商业手机,而非专门的测量设备。
这个问题并不像第一眼看起来那么容易。我知道已经存在许多声称返回手机信号强度的方法。其中一些示例包括:
- WM6 中的 SystemState.PhoneSignalStrength - WinCe 中的 RIL_GetCellTowerInfo (返回的 RILCELLTOWERINFO 结构体的 dwRxLevel 成员) - Android 中的 android.telephony.NeighboringCellInfo.getRssi()
上述方法的问题在于它们只返回几个(少于10个)离散值,例如 SystemState.PhoneSignalStrength 只能转换为 -100 dbm、-90 dbm、-80 dbm、-70 dbm 和 -60 dbm 等少数数值,这对于我的应用程序并不有用,因为我想要尽可能精确的值。
如果有一种未公开的解决方案只适用于某一款手机,也没关系,只要你能告诉我一种方法,我将不胜感激。
谢谢您!
这个问题并不像第一眼看起来那么容易。我知道已经存在许多声称返回手机信号强度的方法。其中一些示例包括:
- WM6 中的 SystemState.PhoneSignalStrength - WinCe 中的 RIL_GetCellTowerInfo (返回的 RILCELLTOWERINFO 结构体的 dwRxLevel 成员) - Android 中的 android.telephony.NeighboringCellInfo.getRssi()
上述方法的问题在于它们只返回几个(少于10个)离散值,例如 SystemState.PhoneSignalStrength 只能转换为 -100 dbm、-90 dbm、-80 dbm、-70 dbm 和 -60 dbm 等少数数值,这对于我的应用程序并不有用,因为我想要尽可能精确的值。
如果有一种未公开的解决方案只适用于某一款手机,也没关系,只要你能告诉我一种方法,我将不胜感激。
谢谢您!