Obtener el número de serie del hardware del dispositivo Android

Necesito obtener el código de serie de hardware del dispositivo Android donde está instalada mi aplicación. Este número de serie del hardware es el que se puede ver en Settings > About Device > Status > Serial number .

Aunque lo haría usando Settings.Secure.ANDROID_ID or android.os.Build.SERIAL , pero ninguno de ellos funcionó, lo que significa que no me dieron el identificador único que estoy buscando. Por ejemplo android.os.Build.SERIAL me consiguió el ID único que se muestra en ADB cuando se ejecuta el comando adb devices .

Tenga en cuenta que el objetivo de esta pregunta es no encontrar otro identificador único que podría ayudarme, sólo se trata de obtener el número de serie del hardware del dispositivo.

Gracias por la ayuda.

EDITAR:

Tenga en cuenta que no estoy buscando el valor proporcionado por la cadena android.os.BUILD.SERIAL. Sé cómo conseguir ese valor, pero no me interesa.

Tengo un dispositivo de Samsung, por lo tanto, el número de serie que utilizaron es diferente que el proporcionado por android.os.BUILD.SERIAL.

La solución es muy simple:

 Class<?> c = Class.forName("android.os.SystemProperties"); Method get = c.getMethod("get", String.class, String.class); serialNumber = (String) get.invoke(c, "sys.serialnumber", "Error"); if(serialNumber.equals("Error")) { serialNumber = (String) get.invoke(c, "ril.serialnumber", "Error"); } 

Esto le proporcionará el número de serie de la mayoría de los dispositivos Samsung. Utilizo el valor "sys.serialnumber" para obtener el número de serie de las tabletas SM-T210 (Galaxy Tab 3) y SM-T230 (Galaxy Tab 4), pero probablemente funcione con más tablets de Samsung. El "ril.serialnumber" es para obtener el valor de mi Samsung GT-I8550L (Galaxy Win).

Espero que esto ayude.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.