[android]sim内の情報取得

android端末のSIMカード内の情報にアクセスする方法です

TelephonyManagerの主なgetメソッド
メソッド名 情報
getLine1Number 電話番号
getDeviceId デバイスID
getSimCountryIso SIMの国コード
getSimOperator MCC+MNC (mobile country code + mobile network code)
getSimOperatorName サービスプロバイダの名前
getSimSerialNumber SIMのシリアル番号
getSimState SIMの状態(通信可能か、PINロックされているかなど)
getVoiceMailNumber ボイスメールナンバー

リファレンス
android.telephony.TelephonyManager
もっといろいろとgetメソッドがある。getはあるけどsetはない。

■例:電話番号を取得する場合は、以下のようにする

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
String line1Number = telephonyManager.getLine1Number();

なお、マニフェストにandroid.permission.READ_PHONE_STATE パーミッションの許可を記載する必要があります。
AndroidManifest.xml

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

と、書いた後に、参照元でより詳しく記載されていることに気づく。。。

■取得できる情報の意味について

■ICCIDの取得方法について(リンクのコピペでないと見れない?)
https://groups.google.com/forum/#!topic/android-group-japan/lc4GFYPid5g

シェアする

  • このエントリーをはてなブックマークに追加

フォローする