我想检查配备我的设备的无线电硬件。
我如何获得此信息?
我使用 Build 类来获取广播信息。但是坠毁了。
public final String SUPPORT = "Support";
public final String NOT_SUPPORT = "None";
public String checkRadio() {
// Radio hardware has or not?
if (Build.getRadioVersion() != null) {
return SUPPORT;
} else {
return NOT_SUPPORT;
}
}
错误:
08-22 15:49:46.662: E/AndroidRuntime(643): java.lang.NoSuchMethodError: android.os.Build.getRadioVersion
08-22 15:49:46.662: E/AndroidRuntime(643): at com.mobilegenbg.deviceinfo.MainActivity.checkRadio(MainActivity.java:79)
重要:不推荐使用Build.Radio。
任何方式?
答案 0 :(得分:3)
已被弃用。
你应该考虑再次阅读documentation,特别是这部分:
此字段在API级别14中已弃用。无线电固件版本 这个类初始化时经常不可用,导致 此字符串的空白或“未知”值。使用getRadioVersion() 代替。
此外:
getRadioVersion
适用于API 14及更高版本,它可能会按此返回null:
public static String getRadioVersion()
在API级别14中添加返回广播的版本字符串 固件。可以返回null(例如,如果收音机不是 目前在。)
强调我的,除非你在旧版Android上运行代码?
或者设备处于飞行模式还是在模拟器上运行?
如果getRadioVersion()
调用返回非空字符串,它可能是“ unknown ”,但至少没有返回null(将其包装在try / catch中NullException
阻止!)。
这取决于无线电固件和ROM,有些可能具有build.prop
中指定的,其他人可能没有。在这种情况下,缺少它会产生“ unknown ”。使用此调用是不可靠的,因为它因制造商和制造商的不同而不同。