我使用此代码收听音量键按钮: https://stackoverflow.com/a/27855766/2977288
但是当用户持有音量按钮时,监听器会一次又一次地被触发。
如何点击按钮而不是按下按钮时,我该如何停止并只听一次?
答案 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);
}