Android 蓝牙传输后数据未完整到达

Android 蓝牙传输后数据未完整到达,android,bitmap,bluetooth,bytestream,Android,Bitmap,Bluetooth,Bytestream,我正在使用谷歌示例应用程序代码进行蓝牙通信 而且它对小块数据非常有效 然而,我正在尝试传输一个编码为Base64编码字符串的位图,当数据到达接收设备时,即使它是正确的字节数,它也经常出现顺序错误。缓冲区到达约1024字节的块,我将它们一次写入inputStream,但当所有的说和做的时候,文件经常出现块无序,随后完全损坏 我没有看到任何人在堆栈上抱怨这一点,所以我一定是做错了什么,但我使用的大多是样本中的样板代码,它*对于小于1024字节的单个消息确实可靠地工作 我想知道是否有任何明显的地方,

我正在使用谷歌示例应用程序代码进行蓝牙通信

而且它对小块数据非常有效

然而,我正在尝试传输一个编码为Base64编码字符串的位图,当数据到达接收设备时,即使它是正确的字节数,它也经常出现顺序错误。缓冲区到达约1024字节的块,我将它们一次写入inputStream,但当所有的说和做的时候,文件经常出现块无序,随后完全损坏

我没有看到任何人在堆栈上抱怨这一点,所以我一定是做错了什么,但我使用的大多是样本中的样板代码,它*对于小于1024字节的单个消息确实可靠地工作


我想知道是否有任何明显的地方,我应该寻找,以确保消息发送的顺序,他们的阅读流

你有任何理由相信蓝牙协议实现了任何类似TCP的可靠性吗?@mfrankli,一点也没有,但我很困惑,为什么在我能找到的任何地方都没有解决这个问题。如果它不像TCP,那么我应该使用什么机制来验证数据写入的顺序?事实上,我试图传入一个版本,该版本包含关于哪个片段是哪个片段的信息,但是块不是作为自包含的片段传入的,因此有些可能具有上一次发送的结束字符!