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

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

4 ответа

Решение

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

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-разрядная величина, которая генерируется и сохраняется при первой загрузке устройства. Сбрасывается при стирании устройства.

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

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

Вы получаете IMEI номер устройства, используя ниже

  TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
  telephonyManager.getDeviceId();

http://developer.android.com/reference/android/telephony/TelephonyManager.html

Добавить это налицо

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

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

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

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

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

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

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

,

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

Другие вопросы по тегам