Como ligar / desligar todos os sons das configurações de acessibilidade programaticamente no android?

9

No Android 4.0+, há uma opção Configurações- > Acessibilidade- > Volta de todos os sons. Se eu verificar essa opção, qualquer aplicativo em execução no dispositivo Android não produzirá som algum. Meu aplicativo tem que dar som de alarme, por isso, se alguém tiver verificado essa opção, o aplicativo não dá nenhum som. Então, eu tenho que desmarcar automaticamente essa opção sempre que o usuário iniciar o aplicativo. Através do código, como posso fazer isso?

Será útil se alguém puder compartilhar um trecho de código. Eu tentei o AudioManager, mas isso só funciona se o áudio móvel estiver ativado.

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);
    
por akash89 02.04.2014 в 12:08
fonte

1 resposta

2

Você pode usar a seguinte função para desabilitar o volume do sistema

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

Se você quiser ativá-lo novamente, basta alterar os parâmetros

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

O volume varia de 0 a 10

    
por Sagar Patil 25.06.2014 / 14:31
fonte