既然你無法禁用系統的消息,而你也將有一個問題,當用戶手動降低音量,我建議你做了一系列的管制,這將與幫助。 到最大音量:
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()靜態並從偵聽器調用它。希望它能幫助你!
這是否與其他平板電腦發生?我相信這是特定於三星平板電腦(或可能只是一個)。我從未在任何設備上看過它。 – 2013-02-15 19:15:58
@ Tanis.7x - 我不確定其他平板電腦。我們選擇了這個,因爲它是由外部設備製造商認證的。 – 2013-02-15 19:32:03
它也發生在我的Nexus 7上。這是外置揚聲器的Android功能,因爲大多數都是耳機。 – MCeley 2013-02-15 21:04:14