目录
蓝牙 4.0 支持单模和双模两种部署方式,其中单模即是我们说的 BLE,而双模指的是 Classic Bluetooth + BLE 。 经典蓝牙 参考官方文档(https://developer./guide/topics/connectivity/bluetooth.html?hl=zh-cn#TheBasics),因为有中文文档,所以只要看这一篇文档就可以应付一般的开发了。 最重要的是这一次项目里的硬件貌似不能支持经典蓝牙,所以并没有实践的机会。 BLE 同样,有条件一定要去看官方文档,然而这一次并没有中文版,或许可以找一些国内大佬们翻译的版本。
UUID:每个服务和特征都会有唯一的 UUID ,由硬件决定。
其实
关于 第二个参数, 首先是 所以当 执行了 如果成功写入数据,系统回调 上面的代码可以成功往硬件发送数据,但是不能接受硬件返回的数据。 实际上向硬件写入数据这一段代码有时候是可以省略的,只需要打开 Android 段的开关即可接收到返回的数据,可能是和硬件有关。 总结 如果写过经典蓝牙的就知道,如果说两者的搜索操作还差不多的话,连接操作和写入操作就是完全不同的东西了。 经典蓝牙可以获取到一个类似 TCP 中 Socket 的对象,然后获取 而 BLE 中需要通过不同的 UUID 获取对应的服务、特征才可以写入数据。 以上就是 BLE 最简单的实现,进一步的封装等就去看上面介绍的 RxBLE 吧。 还有就是用 Kotlin 写的 MainActivity 部分(主要代码): BLE 相关的代码是写在了 Service 中,通过绑定时返回的 mBinder 来调用 Service 中的方法。 关键词:code小生 |
|
来自: codingSmart > 《待分类》