Fre*_*ski 6 android deprecated android-studio
我正在开发一个 Android 项目,在代码中的某个时刻我需要获取设备序列号。
为了获得它,我曾经使用自 Android OBuild.SERIAL以来已被弃用的。为了避免出现问题,我开始使用,并创建了一个小方法来完成操作系统版本检查: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();
}
Run Code Online (Sandbox Code Playgroud)
注意:我没有检查要授予的权限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();
}
}
Run Code Online (Sandbox Code Playgroud)
你需要这样的东西:
@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();
}
Run Code Online (Sandbox Code Playgroud)
隐藏所有不正确的警告
| 归档时间: |
|
| 查看次数: |
3117 次 |
| 最近记录: |