2016-04-15 10 views
0

私はアンドロイドアプリでセルのIDと位置のエリアコード(ネットワーク事業者によって提供される)を取得したいと思います。場所エリアコードandroidを使用して

誰でも上記を使って私を助けることができたら。

+0

エリアコードは、郵便番号またはPINコードを意味しますか? –

+0

場所ネットワークオペレータによって提供されたエリアコードおよびセルID。 PINまたは郵便番号ではありません。 – Megamind

+0

[アンドロイド携帯電話のロケーションエリアコードとセルIDを知る方法](http://stackoverflow.com/questions/4152373/how-to-know-location-area-code-and-cell-id-in) -android-phone) –

答えて

0

これは機能します。

final TelephonyManager telephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
    if (telephony.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) { 
     final GsmCellLocation location = (GsmCellLocation) telephony.getCellLocation(); 
     if (location != null) { 
      lac.setText("LAC: " + location.getLac() + " CID: " + location.getCid()); 
     } 
    } 
1

あなたは、私は、セルIDおよびGSMのためのロケーションエリアコードを持っているのAndroidManifest.xml

にJavaコードで
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

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

int cid = gsmCellLocation.getCid() & 0xffff; // GSM cell id 
int lac = gsmCellLocation.getLac() & 0xffff; // GSM Location Area Code 

をこの権限を追加する必要があります。

しかし、UMTSでは、getCid()は33 187 589などの大きな数値を返します。したがって、モジュロ演算子を追加します(例:gsmCellLocation.getCid()& 0xffff)。

ハッピーコーディング:)

関連する問題