[Android] Android 操作 Bluetooth(二

2017-07-17  本文已影响418人  ttdevs

0x00 低功耗蓝牙(BLE)

上一篇简单介绍了传统蓝牙设备的使用,当你沿着上一篇的思路去连接某些蓝牙设备的时候,你会发现总是不成功。没错,我们还有另外一种蓝牙没有讲:低功耗蓝牙(BLE: Bluetooth Low Energy)。

这并不是一种新的东西,它只是蓝牙协议中的一个新的版本。之前提到的多是蓝牙2.0/2.1,这里的低功耗蓝牙(BLE)主要是指蓝牙4.0/4.1/4.2。在我们的日常生活中这种蓝牙越来越常见,比如各种手环、体脂秤、智能设备、便携蓝牙设备等等。

更多关于蓝牙的介绍可以参考这里

0x01 蓝牙协议栈

和学习 TCP/IP 一样,如果了解BLE的议栈对我们掌握蓝牙会有很大的帮助。

蓝牙协议栈

可与蓝牙 LE 部署中的 GATT 配合使用,以定义与发现蓝牙设备和共享信息相关的规程和角色,以及连接蓝牙设备的链路管理内容。

以上信息来自这里

0x02 Android系统中的BLE

Android系统中对于低功耗蓝牙我们需要关心以下几点:

除了以上信息,我们在对协议中的几个概念做个介绍,这涉及到之后的开发:

0x03 Android系统中的BLE操作流程

和之前的普通蓝牙相同,我们需要先检测设备的蓝牙是否可用,然后扫描周围的蓝牙设备,然后连接。这里可以看到,BLE的操作并不需要配对。如需要在设备必须支持低功耗蓝牙,则还需要加上这句:

<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

0x04 还需要了解的一些细节

0x05 可能会遇到的坑

手上的两台魅族设备,连接一个客户提供的蓝牙模块,死活连不上,其他手机连接正常。这两部设备连接淘宝上买的一个蓝牙模块正常。

0xFF 参考

Create by ttdevs
上一篇 下一篇

猜你喜欢

热点阅读