Я работаю над проектом Android, и в какой-то момент в моем коде мне нужно получить серийный номер устройства.
Чтобы получить его, я использовал Build.SERIAL
, который устарелс Android O .Чтобы избежать проблем, я начал использовать Build.getSerial()
и создал небольшой метод для проверки версии ОС:
private static String getSerial() throws SecurityException {
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.O) {
return Build.SERIAL;
}
return Build.getSerial();
}
Примечание. Я не проверяю разрешение READ_PHONE_STATE
(требуется getSerial()
метод) будет предоставлен, потому что я делаю это в начале и убедитесь, что он у меня уже есть до того, как перейдет к этому методу.
Проблема в том, что, как бы язапишите проверку ОС Android. Я получаю устаревшее предупреждение API.
Я пробовал следующее, и для всех возможных версий я получаю предупреждение Build.SERIAL
private static String getSerial() throws SecurityException {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
return Build.getSerial();
}
return Build.SERIAL;
}
private static String getDeviceUDI() throws SecurityException {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
return Build.getSerial();
} else {
return Build.SERIAL;
}
}
private static String getDeviceUDI() throws SecurityException {
if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.O) {
return Build.SERIAL;
} else {
return Build.getSerial();
}
}