android - LE 面向连接的 channel - Android 支持

标签 android bluetooth bluetooth-lowenergy android-bluetooth

Here据说 Android 8.0 支持 LE Con​​nection-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/

相关文章:

Android:设备屏幕不会与最新的 android 系统 WEBVIEW 超时

linux - 在 Fedora 20 上使用 bluez 注册一个 sdp 服务

typescript - 连接蓝牙模块后丢失数据

android - 检测 Android 蓝牙接听/挂断按钮事件

android - 确定 Android 设备是否支持 BLE 5

iOS:蓝牙配对请求对话框 - 我可以知道用户的选择吗?

android - 如何在Android中使 ListView 中的项目不可点击

Java格式化字符串以删除变量前面的 "0"

java - 使用另一个类的方法实现工具栏

android - 用 Greenrobot Eventbus 替换广播接收器是否可以触发基于事件的功能和从服务到 Activity 的数据传输?