邻居小区对于CID和LAC有-1 -1
问题描述:
在Android中,我尝试获取邻居小区信息。我用下面的代码邻居小区对于CID和LAC有-1 -1
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
List<NeighboringCellInfo> neighborCells = telephonyManager.getNeighboringCellInfo();
if (neighborCells == null) {
Log.d("cells", "Neighbor cells is null");
} else {
for (NeighboringCellInfo cell : neighborCells) {
Log.d("cells", cell.getCid()+"-"+cell.getLac()+" "+(-113+cell.getRssi()*2)+"dB");
}
}
使用logcat中,我得到以下输出
D/cells (7668): Neighbor cell: -1--1 -81dB
D/cells (7668): Neighbor cell: -1--1 -113dB
D/cells (7668): Neighbor cell: -1--1 -113dB
你知道为什么吗?它与硬件有关吗?与另一个电话,我总是得到“相邻小区为空”
谢谢
答
好的我找到了解决方案,我需要启用选项“只使用2G网络”。从我的应用程序启用该选项的可能性很大。 It seems这是不可能的,但奇怪,因为this application这样做...
有人知道我为什么有更多的信息与2G的细胞比3G?
答
检查youu使用的是CDMA手机或GSM手机。 NeighboringCellInfo只适用于GSM手机,因为您没有CDMA的邻近塔。 CDMA拥有全球唯一的网络ID。
TelephonyManager mManager_;
mManager_ = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if(mManager_.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA){
//CDMA PHONE
}
else if(mManager_.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM){
//GSM PHONE
}
uses permission: android.permission.ACCESS_NETWORK_STATE
希望这有助于!
谢谢,但我使用的是GSM手机 – 2012-02-22 09:31:33