Here据说 Android 8.0 支持 LE Connection-Oriented Channels。但是我在 Android API 中看不到它的任何引用。 蓝牙适配器
class只有监听 RFCOMM 套接字的方法(仅在 BT Classic 上运行);和 BluetoothSocket
class说:“最常见的蓝牙套接字类型是 RFCOMM,这是 Android API 支持的类型。”
如何使用 LE CoC?有人可以帮助澄清这种困惑吗?此外,它们似乎受到在 Java API 下运行的 BLE 堆栈的支持,请参阅 here例如。
最佳答案
LE L2CAP 面向连接的 channel 支持是核心规范 4.1 中新引入的功能。
查看android 8.0代码后(我没有测试CoC功能,因为它需要远程设备也支持CoC),从代码的角度来看,你应该可以在Android 8.0上使用这个功能。
假设你想连接套接字作为电话端的客户端,你不需要调用RFCOMM套接字而是调用L2CAP,使用以下套接字API ; 请注意,需要提及两个项目: 1)初始化套接字结构时使用TYPE_L2CAP。 2) 设置套接字端口时应用CoC掩码(0x20000)。
这是 JNI 链接:JNI
这是堆栈链接:stack
下Here您会找到指向 L2CAP 连接的套接字链接。
关于此 page 的第 912 行指明 CoC 格式。
关于android - LE 面向连接的 channel - Android 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47073850/