Я пытаюсь зафиксировать ключевое событие кнопок громкости в наушниках Bluetooth, переопределив функцию onKeyDown
следующим образом.
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){
Toast.makeText(MainActivity.this, "volume down" ,Toast.LENGTH_SHORT).show();
}
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP){
Toast.makeText(MainActivity.this, "volume up" ,Toast.LENGTH_SHORT).show();
}
if (keyCode == KeyEvent.KEYCODE_MUTE){
Toast.makeText(MainActivity.this, "volume mute" ,Toast.LENGTH_SHORT).show();
}
return false;
}
Однако функция onKeyDown не работает для Bluetooth, она захватывает только проводные наушники и Phonekeys.
PS: та же проблема была опубликована в Как захватить ключевые события от bluetooth-гарнитуры с android, но удовлетворительное решение не было дано.