TelephonyManger.getDeviceId () Возвращает уникальный идентификатор устройства, например, IMEI для GSM и MEID или ESN для телефонов CDMA.
final TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String myAndroidDeviceId = mTelephony.getDeviceId();
Но я рекомендую использовать:
Settings.Secure.ANDROID_ID , который возвращает идентификатор Android в виде уникальной 64-разрядной шестнадцатеричной строки.
String myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
Иногда TelephonyManger.getDeviceId () вернет ноль, поэтому для обеспечения уникального идентификатора вы будете использовать этот метод:
public String getUniqueID(){
String myAndroidDeviceId = "";
TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (mTelephony.getDeviceId() != null){
myAndroidDeviceId = mTelephony.getDeviceId();
}else{
myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
}
return myAndroidDeviceId;
}