无线硬件配备设备或不安卓

时间:2013-08-22 09:55:17

标签: android radio

我想检查配备我的设备的无线电硬件。

我如何获得此信息?

我使用 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。

任何方式?

1 个答案:

答案 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 ”。使用此调用是不可靠的,因为它因制造商和制造商的不同而不同。