У меня странная проблема с моим 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 ()? Может быть, системный вызов более низкого уровня? Почему мой телефон не сообщает, что у него аппаратный микрофон? Помогите пожалуйста :) Спасибо!