In Android 4.1 e di più quando si effettua una chiamata al telefono spegnere il microfono automaticamente. Quindi quello che dovete fare è aggiungere l'altoparlante del ricevitore che ascolta per la chiamata viene fatta quando lo stato è "sganciato" e anche mettere un 0,5 secondi ritardato per accendere l'altoparlante del genere:
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);
Ricordarsi di aggiungere questo al listener dello stato del telefono. E per far fuoriuscire il vivavoce quando lo stato è IDLE (necessario per le versioni precedenti).
Buona fortuna.
fonte
2014-08-17 06:20:38
Una domanda simile è stato chiesto e ha risposto [qui] [1] [1]: http://stackoverflow.com/questions/8617381/turn-on-speakerphone-whenever-an-outgoing- call-made-made/21328490 # 21328490 –