Android mediaplayer - play ringtone una vez

Intento reproducir el tono de llamada de un dispositivo una vez con la clase MediaPlayer (tengo que usar MediaPlayer como uso los tonos de llamada junto con otras fuentes de audio en mi aplicación). Así que intento hacer lo siguiente para reproducir un tono de llamada aleatorio, pero no puedo detenerlo. sigue jugando. ¿Es posible reproducir un tono de llamada solo una vez con MediaPlayer?

Gracias

try {
    RingtoneManager mRing = new RingtoneManager(RingtoneActivity.this);
    int mNumberOfRingtones = mRing.getCursor().getCount();
    Uri mRingToneUri = mRing.getRingtoneUri((int) (Math.random() * mNumberOfRingtones));
    mMediaPlayer = new MediaPlayer();
    mMediaPlayer.setDataSource(RingtoneActivity.this, mRingToneUri);
    mMediaPlayer.prepare();
    mMediaPlayer.setLooping(false);
    mMediaPlayer.start();

} catch (Exception ignore) {
}

ACTUALIZAR:

Acabo de publicar una nuevapregunta relacionado con este ya que pude encontrar la causa específica del problema en mi caso.

Respuestas a la pregunta(2)

Su respuesta a la pregunta