2014-04-02 6 views
9

Android 4.0 이상에는 설정 -> 접근성 -> 모든 소리 변경 옵션이 있습니다. 해당 옵션을 선택하면 안드로이드 장치에서 실행되는 모든 응용 프로그램에서 소리가 나지 않습니다. 내 응용 프로그램은 알람 소리를 내야하므로 다른 사람이 해당 옵션을 선택하면 앱에서 소리가 나지 않습니다. 그래서 사용자가 애플리케이션을 실행할 때마다 자동으로 해당 옵션의 선택을 취소해야합니다. 코드를 통해 어떻게 할 수 있습니까?안드로이드에서 접근성 설정의 모든 소리를 프로그래밍 방식으로 켜고 끄는 방법?

다른 사람이 코드를 공유 할 수 있다면 도움이 될 것입니다. AudioManager를 시도했지만 모바일 오디오가 활성화 된 경우에만 작동합니다. 당신이 다시 활성화하려면

amanger.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 

amanger.setStreamMute(AudioManager.STREAM_MUSIC, false); 

amanger.setStreamVolume(AudioManager.STREAM_MUSIC, 
    (int)(amanger.getStreamMaxVolume(AudioManager.STREAM_MUSIC)*(75.0/100.0)), 0); 
+0

안드로이드에 "설정 -> 접근성 -> 모든 소리 켜기"옵션이 없습니다. 이것은 벤더 사용자 정의이며, 아마도 주위에 방법이 없을 것입니다. 또한 사용자가 접근성을 이유로 "소리 끄기"를 지정한 경우에는 소리를 사용하지 않고 경고를 표시하는 방법을 찾아야합니다. – alanv

+0

그 충고를 살 수 있어요. 고마워요. – akash89

+0

안녕하세요. @alanv, 답변으로 게시하는 것이 좋습니다. 그것은 OP의 원래 질문을 실제로 해결하지는 않지만 정답입니다. – Jordan

답변

2

당신은 0-10

에서 매개 변수를

audioManager.setStreamVolume(AudioManager.STREAM_SYSTEM, 10, 0); 

볼륨 범위를 변경, 시스템 볼륨을

public static void disableSound(Context context) 
{ 
    AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 
    audioManager.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, 0); 
} 

을 사용하지 않도록 다음과 같은 기능을 사용할 수 있습니다

+0

"AudioManager.STREAM_SYSTEM"당신을 도울 수 –

+0

죄송합니다. 당신이 내 질문을 이해하지 못했다고 느낍니다. – akash89

관련 문제