Detect presses to headset buttons on Android?

前端 未结 3 1325
梦谈多话
梦谈多话 2021-02-02 17:04

How can I detect if a buton, on a pair of headphones, was pressed while running an Android app? Music applications use to this button to stop, play, pause music, etc.

D

3条回答
  •  不思量自难忘°
    2021-02-02 18:07

    There's a simpler way which doesn't require any BroadcastReceiver to be registered if you only want to listen for headset button callbacks while your app (particular activity) is running, simply override Activity onKeyDown method:

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

提交回复
热议问题