Próbuję ustawić głośnomówiący w wywołanie programowo za pomocą audiomanager.setSpeakerphoneOn(true)
w usłudze, ale wydaje się, że nie działa i nie wiem dlaczego. Czy powinienem zrobić coś innego?Zestaw głośnomówiący z Androidem programowo
Dzięki
Próbuję ustawić głośnomówiący w wywołanie programowo za pomocą audiomanager.setSpeakerphoneOn(true)
w usłudze, ale wydaje się, że nie działa i nie wiem dlaczego. Czy powinienem zrobić coś innego?Zestaw głośnomówiący z Androidem programowo
Dzięki
sprawdzić, czy plik manifestu ma uprawnienia potrzebne do wykonania tej operacji.
Myślę, że to uprawnienie trzeba MODIFY_AUDIO_SETTINGS
To działa! To było dość łatwe! Dzięki – Matroska
w Android 4.1 i więcej podczas wykonywania połączenia telefon automatycznie wyłączyć głośnik. Więc co trzeba zrobić, to dodać zestaw głośnomówiący w odbiorniku, który nasłuchuje na połączenia są wykonane, gdy stan jest „OFFHOOK”, a nawet umieścić 0,5 sekundy opóźnione, aby włączyć głośnik tak:
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);
Pamiętaj, aby dodać to do detektora stanu Telefon. I, aby uruchomić telefon głośnomówiący, gdy stan jest bezczynny (wymagany w przypadku wcześniejszych wersji).
Powodzenia.
Nie wiem, dlaczego, ale to opóźnienie 500 ms jest wymagane. Dzięki! – Ishaan
Podobny padło pytanie i odpowiedział [tutaj] [1] [1]: http://stackoverflow.com/questions/8617381/turn-on-speakerphone-whenever-an-outgoing- call-is-made/21328490 # 21328490 –