gpt4 book ai didi

android - 即使检查正确,我也会不断收到弃用的 API 警告

转载 作者:行者123 更新时间:2023-12-05 00:00:09 25 4
gpt4 key购买 nike

我正在开发一个 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();
}
}

最佳答案

你需要这样的东西:

@SuppressLint("HardwareIds")
@SuppressWarnings("deprecation")
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();
}

隐藏所有不正确的警告

关于android - 即使检查正确,我也会不断收到弃用的 API 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50675122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com