Как получить уникальный идентификатор устройства в Android, который нельзя изменить при выполнении телефона reset или обновления ОС?
Как получить уникальный идентификатор устройства в Android?
Ответ 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);
Ответ 3
Прочтите эту официальную запись в блоге разработчиков Google: http://android-developers.blogspot.be/2011/03/identifying-app-installations.html
Заключение. Для подавляющего большинства приложений это требование для идентификации конкретной установки, а не физического устройства. К счастью, сделать это просто.
Существует много веских причин избежать попытки идентифицировать конкретное устройство. Для тех, кто хочет попробовать, лучший подход вероятно, использование ANDROID_ID на чем-то разумно современном, с некоторые резервные эвристики для устаревших устройств
.
Ответ 4
Мы можем легко получить идентификатор устройства с помощью String id = android.os.Build.ID;