Android BluetoothSocket OutputStream escribe bloques infinitamente

Necesito escribir datos programáticos de 1 a 100 MB en trozos de 1024 bytes en el dispositivo Bluetooth remoto. Ambos son dispositivos android. Aquí hay un fragmento de código de ejemplo en mi programa cliente para transferir datos:

bTSocket.connect(); //connect to remote BT device
DataOutputStream outStream = new DataOutputStream(bTSocket.getOutputStream());
byte[] buffer = new byte[1024];
int bytesToTransfer = 1000000;
while (bytesToTransfer > 0) {
    outStream.write(buffer);
    outStream.flush();
    bytesToTransfer -= 1024;
}
outStream.close();

Mientras se ejecuta este fragmento de código en Android 2.2 (Froyo), funciona bien. Sin embargo, en el caso de Android 2.3.4 y 4.0.4, outStream.write (buffer) se bloquea infinitamente después de la transferencia de algunos datos (por ejemplo, de 100 KB). Cabe mencionar que el dispositivo remoto no está configurado para escuchar datos. ¿Hay alguna limitación en la cantidad de datos que se pueden escribir?

Respuestas a la pregunta(1)

Su respuesta a la pregunta