【问题标题】:Detect presses to headset buttons on Android?检测对 Android 上耳机按钮的按下?
【发布时间】:2017-01-22 20:10:29
【问题描述】:

如何检测在运行 Android 应用时是否按下了一副耳机上的按钮?音乐应用程序使用此按钮来停止、播放、暂停音乐等。

信号会发送到麦克风吗?它是否被视为按键事件?

【问题讨论】:

    标签: android


    【解决方案1】:

    如果您只想在应用(特定活动)运行时监听耳机按钮回调,有一种更简单的方法不需要注册任何 BroadcastReceiver,只需覆盖 Activity onKeyDown 方法:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_HEADSETHOOK){
            //handle click
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
    

    【讨论】:

      【解决方案2】:

      这是ACTION_MEDIA_BUTTON 意图。

      【讨论】:

      • 我们可以检测到长按按钮吗?
      • 虽然他们有 onLongKeyDown 功能,但显然它不起作用。
      【解决方案3】:

      使用ACTION_MEDIA_BUTTONACTION_AUDIO_BECOMING_NOISY。参考这个文档:Developer Android

      【讨论】:

      • 我们可以检测到长按按钮吗?
      猜你喜欢
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多