Я провожу несколько экспериментов с двумя наушниками a-JAYS Four (с тремя кнопками на проводном пульте дистанционного управления/микрофоном), подключенными к Galaxy Nexus (ICS 4.0.2).
Моя проблема в том, что только тестовое приложение, которое я написал, только "средняя" распознается тестовым приложением, т.е. срабатывает обратный вызов Intent.ACTION_MEDIA_BUTTON и/или Activity.onKeyDown. с KeyCode 79 при нажатии.
Нажатие двух других кнопок не вызывает никаких предыдущих методов. Для информации эти наушники и три кнопки работают на Apple iPhone и Apple (по крайней мере MacBookPro 2011), как показано на упаковке...
Во-первых, я думал, что Android или мое устройство могут просто не обрабатывать более одной кнопки на удаленном проводном разъемом (даже если это звучит странно...), но потом я попробовал пару наушников от HTC (те, которые идут с одним из устройств Desire) с 3 кнопками. Средняя кнопка будет реагировать так же, как и мои a-JAYS, но две другие кнопки также распознаются с помощью KeyCodes 87 и 88, соответственно Воспроизвести предыдущий и Воспроизвести следующие медиафайлы.
Таким образом, кажется, что либо устройство, либо уровни низкого уровня Android просто не могут поймать некоторые сигналы кнопок наушников:/(по крайней мере те, которые не являются 87 и 88)
Кто-нибудь знает, как заставить Android распознавать другие кнопки/сигналы от таких наушников, как Apple, совместимые? Будет ли это означать, что драйверы низкого уровня пишут для ICS или я пропущу что-то действительно очевидное?
Любая помощь будет высоко оценена. При необходимости отправьте мой код тестового приложения.
Приветствия