Идентификатор клеток UMTS
Вопрос
Проблема в том, что когда я использую исходный код ниже, я получаю идентификатор ячейки только в режиме 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 он относится к ним так же, как неизвестное местоположение.
Не связан с StackOverflow