如何使用蓝牙 Android Kotlin 做到这一点?

问题描述 投票:0回答:0

如果数据是字符串、对象或文件图像、音频或视频等,有什么方法可以检测数据何时发送到另一部蓝牙手机?

通常,我将它们转换为

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的文档,但文档似乎只是指导如何发送简单的文本)

我认为当我发送文本、图像、视频或音频时,我应该发送简单的文本来检查事件,然后处理其他情况。是这样吗?

android kotlin bluetooth android-bluetooth
© www.soinside.com 2019 - 2024. All rights reserved.