有没有办法隐藏音量变化栏/通知(不过你可以称之为..btw。你怎么称呼它?)?
我附上了截图。每次更改音量时都会显示此栏(至少在我的nexus测试设备上)。或者这是一个特殊的关系?
答案 0 :(得分:18)
按下音量增大/减小按钮时,会显示默认的蜂窝后音量滑块。 您无法在系统的每个屏幕中隐藏它,但您可以将其隐藏在您的活动中。 将其添加到要隐藏它的活动并手动更改音量。或者,如果您不想更改音量,则可以在KeyEvent.KEYCODE_VOLUME_UP / DOWN情况下执行任何操作。记得回归真实,你消耗了这个事件。如果你在那里返回false,那么当你的代码之后将触发默认的卷行为时,你将获得双重效果。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_VOLUME_UP:
manager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE,
AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
manager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER,
AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
return true;
default:
return super.onKeyDown(keyCode, event);
}
}
将AudioManager管理器检索为
manager = (AudioManager) context
.getSystemService(Context.AUDIO_SERVICE);
答案 1 :(得分:0)
用于自定义处理/忽略的 Kotlin 版本:
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
return when(event?.keyCode){
KeyEvent.KEYCODE_VOLUME_DOWN->{
true //Do what you want or just return here
}
KeyEvent.KEYCODE_VOLUME_UP->{
true//Do what you want or just return here
}
else->super.onKeyDown(keyCode, event)
}
}