Android中如何禁止音量调节至静音
Android中音量按键在调低音量时,如果一直按住Down按钮不放,则系统将音量跳到最小后,又自动调节到静音状态。Android中如果要禁止这个自动静音功能
代码在:
frameworks/base/media/java/android/media/AudioManager.java
public void handleKeyDown(KeyEvent event, int stream) {
int keyCode = event.getKeyCode();
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
case KeyEvent.KEYCODE_VOLUME_DOWN:
int flags = FLAG_SHOW_UI | FLAG_VIBRATE;
//sky modify 20201118 for avoid auto mute when adjust lower
int currentVolume = getStreamVolume(STREAM_SYSTEM);
Log.e(TAG, String.format("sky-2020>>>currentVolume=%d", currentVolume));
if(keyCode == KeyEvent.KEYCODE_VOLUME_DOWN && currentVolume <= 1){
break;
}
if (mUseMasterVolume) {
adjustMasterVolume(
keyCode == KeyEvent.KEYCODE_VOLUME_UP
? ADJUST_RAISE
: ADJUST_LOWER,
flags);
} else {
adjustSuggestedStreamVolume(
keyCode == KeyEvent.KEYCODE_VOLUME_UP
? ADJUST_RAISE
: ADJUST_LOWER,
stream,
flags);
}
break;
case KeyEvent.KEYCODE_VOLUME_MUTE:
if (event.getRepeatCount() == 0) {
if (mUseMasterVolume) {
setMasterMute(!isMasterMute());
} else {
// TODO: Actually handle MUTE.
}
}
break;
}
}

浙公网安备 33010602011771号