En Android 4.1 y más cuando se hace una llamada, el teléfono se apaga automáticamente el altavoz del teléfono. Así que lo que necesita hacer es añadir el altavoz en el receptor que escucha la llamada que se hizo cuando el estado es "descolgado" e incluso poner un segundo 0,5 retardada para activar el altavoz de esa manera:
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);
Recuerde agregar esto al detector de estado del teléfono. Y para salir del altavoz cuando el estado es IDLE (necesario para versiones anteriores).
Buena suerte.
se hizo una pregunta similar y respondió [aquí] [1] [1]: http://stackoverflow.com/questions/8617381/turn-on-speakerphone-whenever-an-outgoing- call-is-made/21328490 # 21328490 –