#android-emulator
#android-эмулятор
Вопрос:
В официальном документе говорится:
The Android Emulator doesn't include virtual hardware for the following:
Bluetooth
NFC
SD card insert/eject
Device-attached headphones
USB
Однако эмулятор имеет следующие настройки:
Может ли кто-нибудь пролить свет на то, что означают эти настройки? Следующий код возвращает false для эмулятора:
getPackageManager().hasSystemFeature(PackageManager.FEATURE_MICROPHONE)
Комментарии:
1. Какой позор, что никто не хочет отвечать на этот вопрос. Я застрял, отвечая на вопрос, будет ли микрофонный вход работать в текущих версиях эмулятора Android, и тоже прошел мимо этой записи. Старые ответы были ясны относительно невозможности пользоваться микрофоном, а также developer.android.com/guide/topics/media/mediarecorder страница даже заявляет, что в конце концов она не может записывать аудио. Но с другой стороны, есть виртуальная гарнитура, в которой, кажется, даже есть микрофон. И что теперь?
Ответ №1:
Я искал способ заставить Android думать, что я подключил наушники, но включения Virtual headset plug inserted
недостаточно. Для этого вам нужно установить меньший аудиовыключатель и настроить устройство ввода на гарнитуру
Только тогда getPackageManager().hasSystemFeature(PackageManager.FEATURE_MICROPHONE)
вернется true
Ответ №2:
Как следует из названия, включение «Вставленного штекера виртуальной гарнитуры» в эмуляторе отправит широковещательное сообщение «action = android.intent.action.HEADSET_PLUG». Настройте broadcastreceiver для действия.HEADSET_PLUG для обнаружения отключения / подключения проводных гарнитур.