Вопрос

Проблема в том, что когда я использую исходный код ниже, я получаю идентификатор ячейки только в режиме 2G, если я переключаюсь в режим 3G, я иногда получаю -1 для HSDPA или ничего для UMTS. Исходный код:

for (int i = 0; i < neighCell.size(); i++) {
try {
        NeighboringCellInfo thisCell = neighCell.get(i);
        int thisNeighCID = thisCell.getCid();
        int thisNeighRSSI = -113 + 2*thisCell.getRssi();
        log("Base station "+(i+1)+":"+
                "\nCellID: "+thisNeighCID+
                "; RSSI: "+thisNeighRSSI+" dBm");
} catch (NumberFormatException e) {
        e.printStackTrace();
        NeighboringCellInfo thisCell = neighCell.get(i);
        log(thisCell.toString());
}
    }

Есть ли способ получить идентификатор в режиме 3G и особенно для UMTS?

Это было полезно?

Решение

Значение -1, которое вы получаете, соответствует значению константы Unknown_cid, что указывает на местоположение ячейки недоступно.

Вы можете подтвердить это в API здесь.

Он также утверждает, что методы получения, связанные с информацией, которую вы хотите приобрести, работают только в GSM. Для UMTS и CDMA он относится к ним так же, как неизвестное местоположение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top