#java #android #television
#java #Android #телевидение
Вопрос:
Я создаю webview в своем телевизионном приложении и, похоже, не могу переопределить метод onKeyDown, когда дело доходит до увеличения / уменьшения громкости. Когда я запускаю его на эмуляторе мобильного устройства или планшета, он работает, но на эмуляторе телевизора или Android tv он ничего не делает, кроме регулировки громкости. Есть ли способ переопределить регулятор громкости? Я знаю, что, возможно, глупо играть с регулировками громкости, но это единственные свободные кнопки на пульте дистанционного управления, а звук не является частью приложения.
Это раздел
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
if(keyCode == KeyEvent.KEYCODE_VOLUME_UP){
myMethod1();
return true;
} else if(keyCode == KeyEvent.KEYCODE_VOLUME_DOWN){
myMethod2();
return true;
}
super.onKeyDown(keyCode, event);
return true;
}
Ответ №1:
У меня такая же проблема. Система Android TV не может переопределять регуляторы громкости. Вы должны запустить таймеры обратного отсчета, чтобы узнать громкость и выполнить действие.
new CountDownTimer(time * 1000, 1000) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
...
}
}.start();