Android 相邻小区的CID和LAC为-1

Android 相邻小区的CID和LAC为-1,android,cell,Android,Cell,在安卓系统中,我尝试获取邻居的手机信息。我使用下面的代码 TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); List<NeighboringCellInfo> neighborCells = telephonyManager.getNeighboringCellInfo(); if (neighborCells == n

在安卓系统中,我尝试获取邻居的手机信息。我使用下面的代码

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");
    }
}
你知道为什么吗?它与硬件有关吗?使用另一部手机,我总是会收到“邻居手机为空”


谢谢

检查您使用的是CDMA电话还是GSM电话。NeighborringCellInfo仅适用于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

希望这有帮助

好的,我找到了解决方案,我需要启用“仅使用2G网络”选项。最好是能够从我的应用程序中启用该选项。这是不可能的,但很奇怪,因为它


有人知道为什么我的2G手机比3G手机有更多的信息吗?

谢谢,但我用的是GSM手机
    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