電話のリセットや OS アップデートを実行しても変更できない Android の一意のデバイス ID を取得するにはどうすればよいですか?
ベストアンサー1
更新日: 2019年11月19日
以下の回答は、現在では関連性がありません。
答えを探している人は、以下のリンク先のドキュメントを参照してください。
https://developer.android.com/training/articles/ユーザーデータID
古い回答- 今は関係ありません。下のリンクでこのブログをチェックしてください
http://android-developers.blogspot.in/2011/03/identifying-app-installations.html
アンドロイドID
import android.provider.Settings.Secure;
private String android_id = Secure.getString(getContext().getContentResolver(),
Secure.ANDROID_ID);
上記はリンク@からのものです固有の Android デバイス ID はありますか?
具体的には、Settings.Secure.ANDROID_ID です。これは、デバイスが最初に起動したときに生成され、保存される 64 ビットの量です。デバイスが消去されるとリセットされます。
ANDROID_IDは、固有のデバイス識別子として適しているようです。欠点もあります。まず、2.2 (“Froyo”) より前の Android リリースでは 100% 信頼できるわけではありません。また、大手メーカーの人気端末では、すべてのインスタンスが同じ ANDROID_ID を持つというバグが少なくとも 1 つ広く確認されています。
以下の解決策は良いものではありません。デバイスのワイプ(「工場出荷時設定へのリセット」)後も値は保持されるため、顧客の1人がデバイスをワイプして他の人に渡すと、厄介なミスを犯す可能性があります。。
デバイスのIMEI番号は以下から取得できます
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();
http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29
これを追加するとマニフェストになります
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>