2012-05-28 4 views
1

가능하면 앱을 연 경우에만 사용자가 기기의 볼륨을 변경할 수 없도록 만들 수 있습니까?Android - 사람들이 볼륨을 변경하지 못하도록합니다.

난 당신이 AudioManger과 음소거 볼륨을 설정할 수 있습니다 것으로 나타났습니다 :

AudioManager volumeControl = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
volumeControl.setStreamMute(AudioManager.STREAM_MUSIC, true); 

그러나 이것은 내가 무엇을 찾고되지 않습니다. 사용자가 현재 볼륨을 잠그기 위해 응용 프로그램을 입력하고 변경하지 못하게하고, 백그라운드에서 멜로디가 볼륨을 높이면서 연주하는 경우를 원합니다. (이것이 내가 사용자가 볼륨을 제어하게하지 않는 이유)

볼륨 업, 볼륨 다운 키를 무시할 가능성이 있다면 생각한 것입니까? 뒤로 버튼을 무시할 수있는 것처럼 말입니다.

+6

성가신 소리. 왜 사용자보다 더 잘 알고 있습니까? – sarnold

+4

응용 프로그램의 종류와 관계없이 음소거/음량 감소가 불가능한 소리가 들리면 즉시 제거 할 수 있습니다. –

+0

플랫폼을 제어 할 수없는 것과 같은 이유 때문에 고맙게도이를 무시할 수 없습니다. –

답변

5

볼륨 업, 볼륨 다운 키를 무시할 가능성이 있다면 생각하고 있었습니까? 뒤로 버튼을 무시할 수있는 것처럼 말입니다.

예, 동일한 방식으로 처리 할 수 ​​있습니다. 이 알람 시계 인 경우

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)){ 
     //Nothing 
    } 
    return true; 
} 

@sarnold 나는 유스 케이스를 볼 수 있습니다. 많은 사람들은 알람 시계에서이 기능을 사용하여 잠에서 깨기를 원할 때 소리를 끄지 않기를 원합니다.

어느 쪽이든, 사용자가 이런 일을하는 것을 괴롭힐 수 있습니다. 가능하다면 피해야합니다.

편집 : 음량 설정

AudioManager am = (AudioManager) getSystemService(AUDIO_SERVICE); 
    am.setStreamVolume(AudioManager.STREAM_MUSIC,6,0); 
+0

그러나 볼륨이 이미 낮게 설정된 경우 ...? –

+0

볼륨 설정은 별도의 명령입니다. 내 편집을 참조하십시오. – FoamyGuy

+0

고맙습니다. 이것은 분명히 나를 도왔다. (필자는 왜이 기능이 필요한지 위에 코멘트를 썼다.) – VCODE

관련 문제