只听一次音量键按钮

时间:2018-04-29 16:12:46

标签: java android

我使用此代码收听音量键按钮: https://stackoverflow.com/a/27855766/2977288

但是当用户持有音量按钮时,监听器会一次又一次地被触发。

如何点击按钮而不是按下按钮时,我该如何停止并只听一次?

2 个答案:

答案 0 :(得分:2)

更改KeyEvent.ACTION_DOWN的{​​{1}},这样只会在您释放按钮时触发。

请参阅:https://developer.android.com/reference/android/view/KeyEvent

答案 1 :(得分:0)

尝试覆盖处理长按的方法,如下所示:

@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) 
    {
        // do what you want to do here
        return true;
    }
    if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) 
    {
        // do what you want to do here
        return true;
    }

    // default action if not handled
    return super.onKeyLongPress(keyCode, event);
}