<< Android_Note
デバイスID の調べ方
デバイスIDは端末ごとに割り振られる固有のIDのことです。
似たような言葉にAndroidIDがありますが、これは端末を特定するには適していません。
なぜならAndroidIDには次のような特徴があるからです。(参考 : http://iridge.jp/blog/20140403/)
- 端末初期化時にランダムに設定される。
- Android2.2未満では正常に取得できないことがある。
- 異なる端末間で異なる値が返るとは限らない。
このように端末ごとに一意の値が返ることが保障されていないのでAndroidIDよりもデバイスIDを使ったほうが良さそうです。
端末上でデバイスIDを調べるには
このIDは不変なので特定の端末に対してだけある処理をしたい場合に便利です。
Android ID を端末上で調べるには [設定] - [一般] - [端末情報] - [ステータス]と選択していくと次のようなステータス表示画面が現れます。
上の画像のステータス画面を開いたら、「IMEI」の下に表示されている数字列を見てください。
それがデバイスIDです。
端末によっては「IMEI」の部分が「IMSI」や「MEID」になっていることもあります。
コードからデバイスID取得
アプリからデバイスIDを調べるには、まず次の権限をAndroidManifest.xmlに追加する必要があります。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- 上の1行を追加 -->
</manifest>
そうするとTelephonyManagerを使ってデバイスIDを文字列として取得できるようになります。
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(
Context.TELEPHONY_SERVICE);
String deviceId = telephonyManager.getDeviceId();
取得したデバイスIDは端末を特定したりするなど好きなように利用できます。
以上、端末固有のデバイスIDの調べ方でした。では、また!
© Kaz