我正在使用插入 Galaxy Nexus (ICS 4.0.2)的一对a-JAYS 四耳机(有线遥控器/麦克风上有 3 个按钮)进行一些实验。
我的问题是,只有中间按钮被我编写的测试应用程序“识别”,即在按下时使用KeyCode 79触发Intent.ACTION_MEDIA_BUTTON和/或Activity.onKeyDown回调。
按下另外两个按钮不会触发任何前面的方法。有关信息,这些耳机及其 3 个按钮适用于 Apple iPhone 和 Apple 电脑(至少 MacBookPro 2011),如包装盒上所宣传的那样......
首先,我认为 Android 或我的设备根本无法处理有线插孔遥控器上的多个按钮(即使这听起来很奇怪......)但后来我尝试使用一副 HTC 的耳机(带有一个他们的欲望设备)有 3 个按钮。中间按钮的反应方式与我的 a-JAYS 相同,但其他两个按钮也可以使用KeyCodes 87和88识别,分别是Play Previous和Play Next 媒体键。
因此,似乎设备或 Android 的低层根本无法捕获某些耳机按钮信号:/(至少那些不是87和88的)
任何人都知道如何让 Android 能够识别来自 Apple 兼容耳机等耳机的其他按钮/信号?这是否意味着为 ICS 编写的低级别驱动程序或者我错过了一些非常明显的东西?
任何帮助将非常感激。如果需要,可以发布我的测试应用代码。
干杯