如果数据是字符串、对象或文件图像、音频或视频等,有什么方法可以检测数据何时发送到另一部蓝牙手机?
通常,我将它们转换为
ByteArray
并发送然后监听从另一个设备传入的蓝牙数据,如下所示
val inputStream = socket.inputStream
val buffer = ByteArray(1024)
var bytes = 0
val bos = ByteArrayOutputStream()
while (true) {
try {
bytes = inputStream.read(buffer)
// New Data Incoming
// This is for case as Image File then convert to Bitmap
bos.write(buffer, 0, bytes)
val img= bos.toByteArray()
// This is for case as text
var text = String(buffer).substring(0, bytes)
} catch()
}
如果我将 2 个
ByteArray
组合在一起(就像我有一个文本:“SENDIMG:”+ 图像字节数组),那么当发送到另一个蓝牙设备时如何收听该数据?
(我查看了如何组合 2 字节数组的老问题,但没有办法将该数据作为传入数据蓝牙进行监听)
(我也看到了Android Developer的文档,但文档似乎只是指导如何发送简单的文本)
我认为当我发送文本、图像、视频或音频时,我应该发送简单的文本来检查事件,然后处理其他情况。是这样吗?