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, теперь я получаю ожидаемые результаты. Я пишу так, чтобы это могло помочь другим. Извините за мой английский.