getAllCellInfo возвращает ноль для симов 2G

Если я использую getAllCellInfo() в устройстве, которое содержит 2G sim, оно возвращает ноль (примечание: API Level: 21). Я даже попытался getNeighboringCellInfo(), он возвращает пустой List<NeighboringCellInfo>

TelephonyManager telephonyManager = (TelephonyManager)mContext.getSystemService( Context.TELEPHONY_SERVICE );

    if (Build.VERSION.SDK_INT>= Build.VERSION_CODES.JELLY_BEAN_MR2) {
        List<CellInfo> cellInfos = telephonyManager.getAllCellInfo();
        if(cellInfos==null){
            List<NeighboringCellInfo> neighboringCellInfos = telephonyManager.getNeighboringCellInfo();
            CellLocation cellLocation = telephonyManager.getCellLocation();

        }
}

Примечание. Мне требуются разрешения для android.permission.ACCESS_COARSE_LOCATION для getAllCellInfo в моем файле манифеста

1 ответ

Извините за публикацию этого неуместного вопроса. Я обнаружил, что проблема, о которой я упоминал выше, заключается не в том, что я использую симулятор 2G, а в том, что у меня нет SIM-карты в слоте SIM1. Когда я использую этот код с SIM-картами 3G (Слот 1) и 2G(Слот 2), он работал как я ожидал, затем я отключил Slot 1, чтобы проверить наличие 2G, и у меня возникла вышеуказанная проблема.

После некоторого времени тестирования я включил SIM1 и изменил его на 2G, теперь я получаю ожидаемые результаты. Я пишу так, чтобы это могло помочь другим. Извините за мой английский.

Другие вопросы по тегам