9

セル ID とロケーション エリア コー​​ドをフェッチするコードが非常に多く見つかったので、以下のコードを使用してセル ID とロケーション エリア コー​​ドをフェッチします。

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation();

int cid = cellLocation.getCid();
int lac = cellLocation.getLac();

問題は、airtel-sim カードを使用すると正常に動作し、cell-id =4331 および loc =610 になることです。しかし、relience-sim カードを使用すると、間違った結果 cell-id =11541 および loc=18823 が返されます。どうすればこれを解決できますか?

4

2 に答える 2

1

ソリューションは次のスレッドで強調表示されています: Android: CellID はすべてのキャリアで利用できませんか?

要するにgetCid()、3G ネットワークで取得した番号を でマスクする必要があります0xffff。以下はスニペットです:

GsmCellLocation cellLocation = (GsmCellLocation)telm.getCellLocation();

new_cid = cellLocation.getCid() & 0xffff;
new_lac = cellLocation.getLac() & 0xffff;

それが役立つことを願っています

于 2014-03-24T07:05:25.127 に答える