对多按钮有线耳机做出反应

Att*_*ila 15 controls android button headphones

我正在用一对a-JAYS Four耳机(有线遥控器/麦克风上有3个按钮)插上Galaxy Nexus(ICS 4.0.2)进行一些实验.

我的问题是,只有中间按钮被我编写的测试应用程序"识别",即在按下时触发KeyCode 79的Intent.ACTION_MEDIA_BUTTON和/或Activity.onKeyDown回调.

按下其他两个按钮不会触发任何以前的方法.有关信息,这些耳机及其3个按钮适用于Apple iPhone和Apple电脑(至少是MacBookPro 2011),正如盒子上标榜的那样......

首先,我认为Android或我的设备根本无法处理有线插孔遥控器上的多个按钮(即使这听起来很奇怪......)但是后来我尝试使用HTC的一对耳机(其中一个是他们的欲望设备)有3个按钮.中间按钮的反应方式与我的a- JAYS相同,但另外两个按钮也可以通过KeyCodes 8788识别,分别是Play PreviousPlay Next媒体键.

因此,似乎设备或Android的低级别层根本无法捕获某些耳机按钮信号:/(至少那些不是8788)

任何人都知道如何使Android能够识别来自Apple兼容的耳机的其他按钮/信号?是否意味着低水平的司机为ICS写作,或者我错过了一些非常明显的东西?

任何帮助将非常感激.如果需要,可以发布我的测试应用程序代码.

干杯

小智 16

音量控制按钮的信号/电阻(音量减小为1.525-1.495 V,音量增大为1.619-1.587 V)目前无法通过Android框架的软件识别.我相信这与Apple拥有指定音量控制专利有关,因此Google不会向开发人员发布框架如何通过耳机插孔上的第四个连接器识别特定信号.耳机上的中心/麦克风/动作按钮通常工作,它将路径从~2V短路到~0V,Apple没有专利.如果有人能够弄清楚如何与他们自己的输入进行交互,这将是巨大的.我很想学习应用程序开发并找到解决方法.