一些基本的知识我就不写了,很多其他博客都可以查到。我主要写几点我在其他博客没有看到的东西以及我在实际开发中遇到的问题。最后我会贴上代码的地址。
1.需要设置2个或3个uuid。通常连接设备后会得到很多个服务(Service),每个服务下会对应对个特征值(Characteristic)。所以先要找到某个服务下可用的Characteristic,拿到uuid。如果该Characteristic是可读可写可通知的,则只需要设置Service和该Characteristic对应的uuid。若不是就要在某个服务下面找到2个Characteristic,一般一个是负责读的,另一个是负责写通知的,此时就要设置3个uuid。
2. public void onCharacteristicChanged(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic)
这里是接受终端返回的指令的。若要实现多连,可以通过gatt.getDevice()判断不同设备
最后提醒下,搜索ble蓝牙时尽量放在子线程里,不然可能会卡顿黑屏一会
就想到这里了。有问题可以私聊
demo地址:https://github.com/xwtao/MyBleDemo