Android: не получается уникальный идентификатор Device_id на вкладке Samsung Galaxy

Когда я пытаюсь получить device_id моего Samsung Galaxy Tab GT-P1010, он возвращает нулевое значение. Я использую device_id для идентификации уникального устройства в моей базе данных.

Я использую для этого следующий код:

String device_id;

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

device_id = telephonyManager.getDeviceId();

Здесь я получаю строку device_id null. Этот код отлично работает для всех моих других устройств, HTC, LG, Google NExxus ICS и т. д.

Пожалуйста, дайте мне решение для него как можно скорее.

Спасибо, Джей Патель


person Community    schedule 29.02.2012    source источник


Ответы (2)


Если вам нужно только создать уникальную идентификацию устройства, вы можете использовать следующий код:

UUID id=UUID.randomUUID();

//store this in shared pref     
String device_id=id.toString();

//later fetch it from share pref
UUID Id=UUID.fromString(device_id);

Это стандартный способ распознавания устройства в соответствии с RFC4122.

person Sai mukesh    schedule 29.02.2012

getDeviceId() возвращает IMEI или MEID устройства, привязанный к SIM-карте устройства. Похоже, что ваш Galaxy Tab — это устройство только с Wi-Fi и без SIM-карты; вот почему он не дает вам действительный идентификатор устройства.

К сожалению, невозможно получить идентификатор устройства с устройства только с Wi-Fi; Я бы предложил использовать ANDROID_ID или какой-либо другой идентификатор, если вы получаете значение null для getDeviceId().

person triad    schedule 29.02.2012
comment
Гарантируется ли, что идентификатор Android будет уникальным идентификатором.?? - person ; 29.02.2012
comment
Есть проблемы с ANDROID_ID, а именно, его можно сбросить при очистке устройства, и он ненадежен до Android 2.2. android-developers.blogspot.com/2011/03/ Другими возможными идентификаторами являются MAC-адрес или аппаратный серийный номер, но оба они также могут иметь потенциальные проблемы. - person triad; 29.02.2012