Java 如何捕捉中央耳机按钮?

Java 如何捕捉中央耳机按钮?,java,android,Java,Android,我想在按下耳机时捕捉其中央按钮的按下。我已经在互联网上搜索过了,我发现其中一种方法就是这样做: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_HEADSETHOOK) { if(isRinging) { if(alarm.isActive())

我想在按下耳机时捕捉其中央按钮的按下。我已经在互联网上搜索过了,我发现其中一种方法就是这样做:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_HEADSETHOOK) {
            if(isRinging) {
                if(alarm.isActive())
                    alarm.cancelAlarm(this);
                else{
                    player.stop();
                    vibrator.cancel();
                }
            }
        }
        return super.onKeyDown(keyCode, event);
    }
这个代码可以工作,但我有一个问题:如果我按下耳机的中央按钮,Spotify就会打开。
如何解决问题?

返回
true
不是在使用事件。将其添加到
if
if keycode==KeyEvent.keycode\u头方法确定我必须返回true?是的,在该代码块的末尾。看看
boolean onKeyDown
,它返回一个布尔值,指示它是否“消耗”了事件,即如果为false,它会将该事件传播到其他对象以处理它,如果为true,则事件“完成”,处理完毕。