Tag: umts

相邻小区信息不准确

我正在尝试使用有关相邻单元格的移动信息,可通过TelephonyManager类及其getNeighboringCellInfo方法在Android上getNeighboringCellInfo 。 下面我发布了一部分代码(主要来自公开可用的源代码),它完成了这项工作,以及此代码生成的一个输出示例(如附带的屏幕截图所示)。 代码和图像按“原样”放置而没有任何更改,因此将一个与另一个相关联应该相对容易,并确保它应该正常工作(当然,可能存在我忽略的错误)。 问题是相邻单元格列表通常包含“不正确”(据我所知)数据的元素,例如: 具有所有属性的NeighboringCellInfo – lac , cid , psc – 设置为-1,并且只有rssi字段看起来有意义; 一个lac等于0的NeighboringCellInfo ; 这是否意味着lac与当前的活跃细胞相同? 一个NeighboringCellInfo ,其rssi值超出范围[ rssi ]而不是UNKNOWN_RSSI ; 这样的值可以是正数(33,如屏幕截图所示),为负数(它们看起来像一个正确的原始rssi值,即无需从asu转换); 在同一地理位置中获得的列表元素并不像我期望的那样表现出一致性,即在两次连续扫描中,每一个都可以在另一个中省略一个元素,并且省略元素的rssi级别不是最低的列表中的级别(实际上它们的rssi可能比当前使用的单元格大); 我承认如果每个细胞信号都非常不稳定,这可能是正确的行为,但我不确定它是否适用于GSM和/或UMTS网络。 当前单元始终具有良好定义的所有字段,但其rssi可在30 dBm(例如-60至-90)的范围内快速变化。 与4相同,但关于从一天到另一天的一致性。 在一个高度城市化和成熟的环境中,我希望每天能看到相同的细胞列表,但它们会以这样的方式变化,有一天我甚至没有看到有关细胞活跃细胞的提及天。 这一切是否意味着移动技术的正常运行,某种可能的省电优化,或特定设备的缺陷(在我的情况下是LG Optimus One)? 如果可能,请建议如何从Android上的单元格环境获取一致的读数。 GsmCellLocation cellLocation = (GsmCellLocation)telephonyManager.getCellLocation(); String networkOperator = telephonyManager.getNetworkOperator(); int type = telephonyManager.getNetworkType(); String mcc = networkOperator.substring(0, 3); String mnc = networkOperator.substring(3); textMCC.setText(“mcc: […]