Android HTC Hero没有报告正确的FeatureInfo

时间:2011-07-20 21:33:04

标签: java android mobile android-2.1-eclair

我的HTC Hero 2.1有一个奇怪的问题 模型= HERO200
制造商= HTC
APILevel = 7

它没有报告它有硬件麦克风。这是我检查功能的代码。

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Context context = this;
    PackageManager pm = context.getPackageManager();
    FeatureInfo[] foo = pm.getSystemAvailableFeatures();
    for (FeatureInfo bar : foo) {
        if (bar.name != null) {
            System.out.println(bar.toString());
            if (bar.name.equalsIgnoreCase("android.hardware.microphone"))
                System.out.println("Booyah!");
        }
    }
}

它确实报告了这些功能:
android.hardware.camera
android.hardware.wifi
android.hardware.location.network
android.hardware.bluetooth
android.hardware.sensor.light
android.hardware.location
android.hardware.location.gps
android.hardware.camera.autofocus
android.hardware.touchscreen.multitouch
android.hardware.touchscreen
android.hardware.sensor.accelerometer
android.hardware.sensor.compass

有些是API级别8,如指南针和gps,其他是7级。还有其他方法可以搜索功能吗?除了getSystemAvailableFeatures()之外我还可以使用其他东西吗?可能是较低级别的系统调用?为什么我的手机没有报告它有硬件麦克风?请帮助:)谢谢!

1 个答案:

答案 0 :(得分:0)

我想如果这款手机设置为Android API Level 7 ...那么我就无法设置专为API Level 8设计的需求(如麦克风)。

这是从Android请求手机功能的正确方法。

所以......这太糟糕了......哦。但仍然很奇怪,这款手机确实报告了API Level 8的一些功能,但你不应该依赖它。