Получить серийный номер устройства Android-устройства

Мне нужно получить аппаратный серийный код устройства Android, на котором установлено мое приложение. Этот серийный номер оборудования является тем, который вы можете увидеть в Settings > About Device > Status > Serial number .

Хотя я бы получил его с помощью Settings.Secure.ANDROID_ID or android.os.Build.SERIAL , но ни один из них не работал, а это значит, что они не дали мне уникальный идентификатор, который я ищу. Например, android.os.Build.SERIAL получил уникальный идентификатор, показанный в ADB, когда вы запускаете команды adb-устройств .

Обратите внимание, что цель этого вопроса заключается не в том, чтобы найти другой уникальный идентификатор, который мог бы мне помочь, а только о том, как получить серийный номер устройства.

Спасибо за помощь.

РЕДАКТИРОВАТЬ:

Пожалуйста, будьте ясны, что я не ищу значение, предоставленное String android.os.BUILD.SERIAL. Я знаю, как получить эту ценность, но меня это не интересует.

У меня есть устройство Samsung, поэтому серийный номер, который они использовали, отличается от того, который был предоставлен android.os.BUILD.SERIAL.

Solutions Collecting From Web of "Получить серийный номер устройства Android-устройства"

Решение очень просто:

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

Это даст вам серийный номер большинства устройств Samsung. Я использую значение «sys.serialnumber», чтобы получить серийный номер моих таблеток SM-T210 (Galaxy Tab 3) и SM-T230 (Galaxy Tab 4), но, вероятно, работает с гораздо большим количеством планшетов Samsung. «Ril.serialnumber» должен получить ценность на моем Samsung GT-I8550L (Galaxy Win).

Надеюсь, это поможет.