質問

問題は、以下でソースコードを使用する場合、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の場合、それらは不明な場所と同じように扱います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top