Android HTC Hero не сообщает правильное сообщение FeatureInfo - PullRequest
0 голосов
/ 21 июля 2011

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

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

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

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

...