Android HTC Hero не сообщает правильное сообщение FeatureInfo

У меня странная проблема с моим 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 ответ

Решение

Я думаю, если этот телефон настроен для Android API уровня 7... тогда я просто не могу установить требование, которое было разработано для API уровня 8 (как микрофон).

Это правильный способ запрашивать функции телефона от Android.

Так что... это отстой... да ладно. Но все же странно, что этот телефон сообщает о некоторых функциях API уровня 8, но вы не должны на это полагаться.

Другие вопросы по тегам