Three.jsを使って、作ってみた

プログラミング関連の事を色々書いています(^^) 週末はレストランやコンビニのお菓子のことを書いています。

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"

で、実行すると、このように表示されます。(エミュレータの場合)
f:id:gupuru:20140507232741p:plain

ちゃんと持ち主の電話番号が取得できています。


で、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()  );

こんな感じです。

実行するとこんな感じです。
f:id:gupuru:20140507233230p:plain



知っていたら、どこかで得をするかも?という情報でした(笑)

これで、終わります。


参考サイト
モガ・モボ: [Android] 自分の電話番号を知るコード
TelephonyManager | Android Developers