В моем приложении я переопределяю volume up
и volume down
ключей. Проблема в том, что когда пользователь щелкает один из этих двух клавиш, воспроизводится звук. Я хочу как-то отключить/отключить звук.Отключить звук при нажатии клавиш регулировки громкости
Вот фрагмент моего кода:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_DOWN: {
// do something when user click volume down key
return true;
}
case KeyEvent.KEYCODE_VOLUME_UP: {
// do something when user click volume up key
return true;
}
}
return super.onKeyDown(keyCode, event);
}
Использование 'dispatchKeyEvent' вы можете обнаружить, когда нажата кнопка, но вы не можете определить, в какой позиции находится кнопка (вверх или вниз). В моем примере я использовал 'onKeyDown'. Этот метод не удаляет звук, поэтому мне пришлось играть бесконечным звуком. – Da2da2
Нет, в моем примере вы можете увидеть keyCode и использовать его таким же образом. Он работает, я использую этот метод в своем приложении. –
Я не говорю, что ваш метод не работает, все в порядке, но не в моей ситуации. Я хочу, как я сказал, обнаружить, когда кнопка находится в положении ** вверх ** или ** вниз **. Если я нажму кнопку (например, «KEYCODE_VOLUME_UP») один раз, 'dispatchKeyEvent' будет вызываться два раза, если я делаю это с' onKeyDown' и 'onKeyUp', они будут запускаться один за другим один раз, оставляя меня более подробным информацию о текущем состоянии кнопки. – Da2da2