2014-04-02 16 views
9

W systemie Android 4.0+ dostępna jest opcja Ustawienia-> Dostępność-> Włącz wszystkie dźwięki. Jeśli zaznaczę tę opcję, każda aplikacja uruchomiona na urządzeniu z systemem Android nie będzie generować żadnego dźwięku. Moja aplikacja musi dać dźwięk alarmu, więc jeśli ktoś zaznaczył tę opcję, aplikacja nie wydaje żadnego dźwięku. Muszę więc automatycznie usunąć zaznaczenie tej opcji za każdym razem, gdy użytkownik uruchamia aplikację. Przez kod, jak mogę to zrobić?Jak włączyć/wyłączyć wszystkie dźwięki z ustawień dostępności programowo w systemie Android?

Pomocne będzie, jeśli ktoś może udostępnić fragment kodu. Próbowałem AudioManager, ale działa to tylko wtedy, gdy włączony jest dźwięk mobilny.

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

Nie ma opcji "Ustawienia-> Dostępność-> Włącz wszystkie dźwięki" w magazynie Android. To jest dostosowywanie dostawcy i prawdopodobnie nie da się tego obejść. Dodatkowo, jeśli użytkownik określił "wyłącz dźwięk" z powodów związanych z dostępnością, należy uszanować ich preferencje i znaleźć inny sposób, aby je ostrzec bez użycia dźwięku. – alanv

+0

Mogę kupić tę radę. Dziękuję. – akash89

+0

Hej, alanv, polecam, żebyś to opublikował jako odpowiedź. Chociaż w rzeczywistości nie rozwiązuje pierwotnego pytania OP, jest to poprawna odpowiedź. – Jordan

Odpowiedz

2

można użyć następujących funkcji, aby wyłączyć głośność systemu

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

Jeśli chcesz włączyć go ponownie, wystarczy zmienić parametry

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

zakresy objętości od 0-10

+0

"AudioManager.STREAM_SYSTEM" może pomóc –

+0

Przepraszamy. Czuję, że nie całkiem rozumiesz moje zapytanie. – akash89

Powiązane problemy