Obligando a MediaRecorder a usar un micrófono interno

Estoy usando algo como esto para iniciar la grabación de audio:

MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile("/dev/null");
recorder.prepare();
recorder.start();

Quiero grabar siempre desde el micrófono interno. Usando el código anterior, la fuente de audio cambia al micrófono externo tan pronto como se conecta uno. He revisado los documentos y no puedo encontrar la manera de configurar un micrófono preferido.

Respuestas a la pregunta(1)

Su respuesta a la pregunta