como decodificar android.os.Build.SERIAL?
Estou trabalhando no tópico do número de série recorrente para fornecer um ID exclusivo.
Eu tento isso:
String serial = null;
try {
Class<?> c = Class.forName("android.os.SystemProperties");
Method get = c.getMethod("get", String.class);
serial = (String) get.invoke(c, "ro.serialno");
} catch (Exception ignored) {
}
e
StringBuilder sb = new StringBuilder();
sb.append("SERIAL ").append(android.os.Build.SERIAL).append("\n");
textReportAdmin.setText(
sb.toString());
Ambos dão o mesmo valor:C4F12FDD949F22F
Na caixa e no adesivo da minha guia, o número de série é:RF2C202WYME
Eu trabalho em uma guia, sem maneira de usar
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String imei = telephonyManager.getDeviceId();
O IMEI está vazio no meu caso.
SERIAL é o que eu preciso, mas eu preciso dele na versão clara, conforme exibido no adesivo no código de barras atrás da aba.
Eu acho que é possível como, quando vai no aplicativo do sistema, e olhando para o estado do dispositivo, ele é exibido em claro ...
Como converter o valor retornado por android.os.Build.SERIAL para o humano visível?
EDIÇÃO: Eu também olhei em:
sb.append("PRODUCT ").append(android.os.Build.PRODUCT).append("\n");
sb.append("BOARD ").append(android.os.Build.BOARD).append("\n");
sb.append("BOOTLOADER ").append(android.os.Build.BOOTLOADER).append("\n");
sb.append("BRAND ").append(android.os.Build.BRAND).append("\n");
sb.append("CPU_ABI ").append(android.os.Build.CPU_ABI).append("\n");
sb.append("CPU_ABI2 ").append(android.os.Build.CPU_ABI2).append("\n");
sb.append("DEVICE ").append(android.os.Build.DEVICE).append("\n");
sb.append("DISPLAY ").append(android.os.Build.DISPLAY).append("\n");
sb.append("FINGERPRINT ").append(android.os.Build.FINGERPRINT).append("\n");
sb.append("HARDWARE ").append(android.os.Build.HARDWARE).append("\n");
sb.append("HOST ").append(android.os.Build.HOST).append("\n");
sb.append("ID ").append(android.os.Build.ID).append("\n");
sb.append("MANUFACTURER ").append(android.os.Build.MANUFACTURER).append("\n");
sb.append("MODEL ").append(android.os.Build.MODEL).append("\n");
sb.append("PRODUCT ").append(android.os.Build.PRODUCT).append("\n");
sb.append("RADIO ").append(android.os.Build.RADIO).append("\n");
sb.append("SERIAL ").append(android.os.Build.SERIAL).append("\n");
sb.append("TAGS ").append(android.os.Build.TAGS).append("\n");
sb.append("TIME ").append(android.os.Build.TIME).append("\n");
sb.append("TYPE ").append(android.os.Build.TYPE).append("\n");
sb.append("USER ").append(android.os.Build.USER).append("\n");
em nenhum lugar, eu recebo o número de série como no adesivo, embora possa ser possível encontrá-lo como, o sistema em si é capaz de exibi-lo em "Parâmetros", "Sobre", "Estado" (não sei as palavras em Inglês, eu tenho um guia francês, e é "Paramètres", "A propos de", "Etat" e depois "Serial Number", a versão clara, como no adesivo.