我想以编程方式测量手机中的电话信号强度。我实际上并不关心手机或编程环境:它可以基于 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,这对我的应用程序没有用处,因为我希望获得尽可能高的精度。
是否有仅适用于一部手机的未记录解决方案并不重要,如果您能告诉我一个方法,我将不胜感激。
提前致谢
最佳答案
请查看JSR-256 Mobile Sensor API对于 Java 我。诺基亚 S60 第 5 版设备支持此 API。您可以使用此 API 检查网络信号强度。但是,最好先从诺基亚论坛询问它的粒度。
关于android - 在手机上测量 "real"电话信号强度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1847008/