Android Set Freisprecheinrichtung auf programmatisch
-
27-09-2019 - |
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
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.