Как спрятать ползунок громкости?
Я разрабатываю приложение под Android, в котором мне нужно использовать кнопки громкости как элемент управления. Я успешно получаю значение громкости с помощью AudioManager внутри фрагмента, всё работает, но есть одна единственная проблема, решения которой я пока не нашел.
При нажатии на кнопки громкости на экране появляется системный ползунок громкости (совершенно ожидаемо). Он мешает, и я хотел бы каким-либо образом сделать его невидимым, или сделать так, чтобы конкретно в этом приложении он не вызывался.
Можно ли это сделать через код Java?
Ответы (1 шт):
Чтобы перехватить нажатия на кнопки громкости, в активити переопределите метод onKeyDown и обработайте кейкоды KEYCODE_VOLUME_UP и KEYCODE_VOLUME_DOWN:
public class MainActivity extends AppCompatActivity {
...
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
Toast.makeText(this, "Volume Up!", Toast.LENGTH_LONG).show();
return true;
}
if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
Toast.makeText(this, "Volume Down!", Toast.LENGTH_LONG).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
}