AndroidでSIMの電話番号を取得する方法
作成しているAndroidアプリで、SIMの電話番号を取得する必要性があり調べましたので、ここに備忘録としてまとめたいと思います。
利用するクラス:TelephonyManagerクラス
TelephonyManagerクラスを用いることで、Androidの電話番号やSIMのシリアルナンバーなどの情報を取得することができます。
利用するメソッド
TelephonyManagerクラスでは主に以下のクラスで各情報を取得することができます
メソッド | 取得できる情報 |
---|---|
getLine1Number | 電話番号 |
getDeviceId | デバイスID |
getSimSerialNumber | SIMのシリアル番号 |
getSimState | SIMの状態(通信可能か、PINロックされているかなど) |
※他にもあるようですので、必要に応じて調べてみてください。
STEP1: パーミッション
端末の情報を取得するにはマニフェストで「READ_PHONE_STATE」のパーミッションが必要です。
AndroidManifest.xml
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
STEP2: TelephonyManagerクラスをインスタンス化
MainActivity
private void checkPhoneState{
//STEP1
TelephonyManager mTelephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
}
STEP3: 取得したい情報のメソッドを利用
MainActivity
private void checkPhoneState{
//STEP1
TelephonyManager mTelephonyManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
//STEP2
System.out.println("電話番号:" + mTelephonyManager.getLine1Number());
}
まとめ
・取得したい情報とそのメソッドを見つけましょう
・「READ_PHONE_STATE」をパーミッションしましょう
・TelephonyManagerクラスをインスタンス化しましょう
・TelephonyManagerのメソッドを利用して、取得したい情報を取得しましょう