I just implemented the Bluetooth interface to control my MP3 shield from an Android device. Here I ran across the need for using <mySerialPort>.listen(). The issue was that my Android application received transmissions from the Bluetooth connection but my Arduino application was ignoring transmissions from the Android application.
I am also using a SoftwareSerial object to communicate with my MP3 shield. Some commands require a response and during initialization .listen() was set to the MP3 player because it was the first active port.
The solution was to call .listen() whenever a result from the MP3 player was expected and at the top of the loop to reset the listening port to Bluetooth.
With everything talking the next task is the interface for controlling the MP3 player and Arduino board from the Android application.