Bluetooth通信用のGoogleサンプルアプリコードを使用しています http://developer.android.com/guide/topics/connectivity/bluetooth.html
また、データの小さなチャンクに対しては完全にうまく機能します。
ただし、Base64 でエンコードされた文字列としてエンコードされたビットマップを送信しようとしています。データが受信デバイスに到着すると、正しいバイト数であっても、頻繁に順序が狂います。バッファーは最大 1024 バイトのチャンクで到着し、inputStream への 1 回の書き込みでそれらをフィードしていますが、すべてが完了したときに、ファイルのチャンクが頻繁に順不同になり、その後完全に破損します。
これについて文句を言う人は他にいないので (ここは Stack)、何か間違ったことをしているに違いありませんが、私はサンプルの定型コードをほとんど使用しており、*1024 バイト未満の個々のメッセージに対して確実に動作します。
メッセージがストリームによって読み取られる順序で送信されることを確認するために、明確な場所があるかどうか疑問に思っています。