邻居小区对于CID和LAC有-1 -1

邻居小区对于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 

希望这有助于!

+0

谢谢,但我使用的是GSM手机 – 2012-02-22 09:31:33