walmart usa tablets pie caracteristicas best android tablet-pc

usa - tablets android



¿TelephonyManger.getDeviceId() devolverá la identificación del dispositivo para tabletas como Galaxy Tab...? (3)

Quiero obtener la identificación del dispositivo que será única para cada dispositivo Android. Actualmente estoy desarrollando para un dispositivo Tablet. ¿Quieres obtener un ID de dispositivo único y almacenar los valores correspondientes ...

Por lo tanto, quiero saber si los dispositivos Tablet devolverán un valor si utilizo TelephonyManager.getDeviceId () ... ??? O hay algún otro valor que sea único para cada dispositivo ???


Desde Android 8 todo ha cambiado. Debe usar Build.getSerial() , para obtener el número de serie del dispositivo y agregar el permiso READ_PHONE_STATE .

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { serial = Build.getSerial(); // Requires permission READ_PHONE_STATE } else { serial = Build.SERIAL; // Will return ''unknown'' for device >= Build.VERSION_CODES.O }

Y obtén el IMEI o MEID de esta manera:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { String imei = tm.getImei(); // Requires permission READ_PHONE_STATE serial = imei == null ? tm.getMeid() : imei; // Requires permission READ_PHONE_STATE } else { serial = tm.getDeviceId(); // Requires permission READ_PHONE_STATE }


Esta no es una pregunta duplicada. Como resultado, el CTS de Google requiere que getPhoneType of TelephonyManager no sea ninguno y que getDeviceId de TelephonyManager sea nulo para los dispositivos que no son teléfonos.

Así que para obtener IMEI, intenta usar:

String imei = SystemProperties.get("ro.gsm.imei")

Desafortunadamente, SystemProperties es una clase no pública en el sistema operativo Android, lo que significa que no está disponible públicamente para las aplicaciones normales. Intente ver esta publicación para obtener ayuda para acceder a ella: ¿Dónde está android.os.SystemProperties?


TelephonyManger.getDeviceId () Devuelve el ID de dispositivo único, por ejemplo, el IMEI para GSM y el MEID o ESN para teléfonos CDMA.

final TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String myAndroidDeviceId = mTelephony.getDeviceId();

Pero recomiendo usar:

Settings.Secure.ANDROID_ID que devuelve la ID de Android como una cadena hexadecimal de 64 bits única.

String myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);

A veces, TelephonyManger.getDeviceId () devolverá un valor nulo, por lo tanto, para asegurar una identificación única, usarás este método:

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; }