質問
問題は、以下でソースコードを使用する場合、3Gモードに切り替えると、セルIDのみが2Gモードでのみ受信されることです。HSDPAの場合は-1を受信したり、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のIDを取得する方法はありますか?
解決
あなたが取得している-1値は、cellの位置が使用できないことを示す不明な_cid定数の値に対応します。
これをAPIで確認できます ここ.
また、GSMでのみ機能し、取得したい情報に関連する取得方法があると述べています。 UMTとCDMAの場合、それらは不明な場所と同じように扱います。
所属していません StackOverflow