Как получить уникальный идентификатор устройства в Android?

Как получить уникальный идентификатор устройства в Android, который нельзя изменить при выполнении телефона reset или обновления ОС?

Ответ 1

Вы проверяете этот блог по ссылке ниже

http://android-developers.blogspot.in/2011/03/identifying-app-installations.html

ANDROID_ID

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                    Secure.ANDROID_ID); 

Выше приведено ссылку @Есть ли уникальный идентификатор устройства Android?

В частности, Settings.Secure.ANDROID_ID. Это 64-разрядное количество, которое генерируется и сохраняется при первом загрузке устройства. При стирании устройства reset.

ANDROID_ID кажется хорошим выбором для уникального идентификатора устройства. Есть недостатки: во-первых, он не на 100% надежен в выпусках Android до 2.2 ( "Froyo" ). Кроме того, по крайней мере одна широко известная ошибка в популярном телефоне от крупного производителя, где каждый экземпляр имеет тот же ANDROID_ID.

Нижеприведенное решение не является хорошим одним из достоинств , когда вы выжидаете влажные салфетки устройства ( "Factory сбрасывается" ), и, таким образом, вы можете сделать неприятную ошибку, когда один из ваших клиентов вытирает свое устройство и передает его другому человеку.

Вы получаете номер 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"/>

Ответ 2

Я использую следующий код, чтобы получить идентификатор Android.

String android_id = Secure.getString(this.getContentResolver(),
            Secure.ANDROID_ID);

Log.d("Android","Android ID : "+android_id);

enter image description here

Ответ 3

Прочтите эту официальную запись в блоге разработчиков Google: http://android-developers.blogspot.be/2011/03/identifying-app-installations.html

Заключение. Для подавляющего большинства приложений это требование для идентификации конкретной установки, а не физического устройства. К счастью, сделать это просто.

Существует много веских причин избежать попытки идентифицировать конкретное устройство. Для тех, кто хочет попробовать, лучший подход вероятно, использование ANDROID_ID на чем-то разумно современном, с некоторые резервные эвристики для устаревших устройств

.

Ответ 4

Мы можем легко получить идентификатор устройства с помощью String id = android.os.Build.ID;