android 自分の電話番号を取得する TelephonyManager
今回は、androidの「自分の電話番号を取得する」方法を書きます。
ごくたまに、携帯に登録されている持ち主の電話番号を取得したい時があると思います。・・・いや、無いか(笑)
持ち主の電話番号を取得するには、「TelephonyManager」を使います。
取得方法を書きます。
String myNumber = null; TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); // 取得 myNumber = telManager.getLine1Number(); //Logで表示 Log.v("電話番号","自分の電話番号は" + myNumber);
上の↑↑コードだけでは、エラーがでます。
Manifestにこちらを追加してください。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
この辺りに追加すれば、大丈夫です↓↓
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <application android:allowBackup="true"
で、実行すると、このように表示されます。(エミュレータの場合)
ちゃんと持ち主の電話番号が取得できています。
で、TelephonyManagerを使うと、電話番号だけでなく、他の情報も取得できます。
例えば、シリアルナンバーや国別コードなどが取得できます。
この辺りはこちらに詳しく書かれているので、興味ある方は読んだ見てください。↓↓
TelephonyManager | Android Developers
では、シリアルナンバーを取得する方法を書きます。
TelephonyManager telManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); //ログで出力 Log.v("スマホ情報","携帯端末固有" + telManager.getDeviceId() ); Log.v("スマホ情報","SIM国別コード" + telManager.getSimCountryIso() ); Log.v("スマホ情報","SIMシリアルナンバー" + telManager.getSimSerialNumber() );
こんな感じです。
実行するとこんな感じです。
知っていたら、どこかで得をするかも?という情報でした(笑)
これで、終わります。
参考サイト
モガ・モボ: [Android] 自分の電話番号を知るコード
TelephonyManager | Android Developers