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;
    }
}
posted @ 2020-11-18 20:22  sky_雨念三生  阅读(649)  评论(0)    收藏  举报