Frage

Ich versuche, Satz Freisprechfunktion in einem Aufruf programmatisch audiomanager.setSpeakerphoneOn(true) in einem Dienst verwenden, aber es scheint, es nicht funktioniert und ich weiß nicht, warum. Sollte ich etwas anderes tun?

Danke

War es hilfreich?

Lösung

Überprüfen Sie, ob Ihre Manifest-Datei hat die Berechtigungen müssen diesen Vorgang tun.

Ich denke, das ist die Erlaubnis, die Sie benötigen MODIFY_AUDIO_SETTINGS

Andere Tipps

Android im 4,1 und mehr, wenn Sie einen Anruf des Telefon ausschalten die Lautsprecher automatisch machen. Also, was Sie tun müssen, ist die Freisprechfunktion im Empfänger hinzufügen, dass Streams für den Anruf gemacht wird, wenn der Zustand „Hörer abgehoben“ und sogar eine 0,5 Sekunden setzen verzögert auf den Lautsprecher drehen wie folgt aus:

final Handler mHandler = new Handler();
mHandler.postDelayed(new Runnable() {
    @Override
    public void run() {
    audioManager.setMode(AudioManager.MODE_IN_CALL);
    audioManager.setSpeakerphoneOn(true);
    MainActivity.shouldTurnSpeakerOn = false;
    MainActivity.shouldTurnSpeakerOff = true;
    Log.d("incoming_call","speaker_on");                    
    }
}, 500);

Denken Sie daran, dies dem Telefon Zustand Hörer hinzuzufügen. Und die Lautsprecher laufen ab, wenn der Zustand IDLE (benötigt für frühere Versionen).

Good Luck.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top