2014-04-02 3 views
9

In Android 4.0 und höher gibt es eine Option Einstellungen-> Zugänglichkeit-> Turn aller Sounds. Wenn ich diese Option überprüfe, wird jede Anwendung, die auf dem Android-Gerät ausgeführt wird, überhaupt keinen Ton erzeugen. Meine Anwendung muss Alarmton geben. Wenn also jemand diese Option aktiviert hat, gibt die App keinen Ton von sich. Also muss ich diese Option jedes Mal automatisch deaktivieren, wenn der Benutzer die Anwendung startet. Durch Code, wie kann ich das tun?Wie alle Sounds von Eingabehilfen Einstellungen programmgesteuert in Android ein-/ausschalten?

Es wird hilfreich sein, wenn jemand ein Stück Code teilen kann. Ich habe AudioManager versucht, aber das funktioniert nur, wenn Mobile Audio aktiviert ist.

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

Es gibt keine Option "Einstellungen-> Zugänglichkeit-> Abbiegung aller Töne" auf dem Android-Lager. Dies ist eine Anpassung des Anbieters, und es gibt wahrscheinlich keine andere Möglichkeit. Wenn der Benutzer aus Gründen der Barrierefreiheit außerdem "Töne ausschalten" angegeben hat, sollten Sie deren Vorlieben respektieren und eine andere Möglichkeit finden, sie ohne Ton zu warnen. – alanv

+0

Ich kann diesen Rat kaufen. Danke. – akash89

+0

Hey @alanv, ich würde dir empfehlen, das als Antwort zu posten. Obwohl es die ursprüngliche Frage des OP nicht löst, ist es die richtige Antwort. – Jordan

Antwort

2

können Sie folgende Funktion verwenden, um Systemvolumen

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

zu deaktivieren, wenn Sie es wieder aktivieren möchten, nur die Parameter ändern

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

Volume reicht von 0 bis 10

+0

"AudioManager.STREAM_SYSTEM" kann Ihnen helfen –

+0

Entschuldigung. Ich habe das Gefühl, dass du meine Frage nicht verstanden hast. – akash89