由于您无法禁用系统消息,并且当用户手动降低音量时也会遇到问题,因此我建议您进行一系列控制以帮助解决此问题。最大化音量:
public void maxVolume() {
AudioManager audioManager = (AudioManager)context.getSystemService(this.AUDIO_SERVICE);
while ( audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) < audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)) {
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, 0);
}
}
要防止用户手动更改音量:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)
|| (keyCode == KeyEvent.KEYCODE_VOLUME_UP)
|| (keyCode == KeyEvent.KEYCODE_VOLUME_MUTE)) {
return true;
}
return super.onKeyDown(keyCode, event);
}
您可以在 onCreate 方法中调用 maxVolume(),然后在开始使用插孔输出过程之前调用它,以确保系统没有更改您的音量。或者,您可以注册一个监听器来监听音量变化,将 maxVolume() 设为静态并从监听器调用它。希望它可以帮助你!