Android BLE蓝牙 BluetoothGattService与BluetoothGattCharacteristic获取

帅彦
2023-12-01

低功耗蓝牙开发对象按着android的API文档来一个一个对象获取就通了

http://www.android-doc.com/reference/android/bluetooth/package-summary.html

创建第一个对象

BluetoothManager

这个对象在activity的系统服务中

activity.getSystemService(Context.BLUETOOTH_SERVICE)

拿到后就是BluetoothAdapter,这个对象就在BluetoothManager中,按照命名就可以看出调用

getAdapter方法

然后就是获取BluetoothDevice对象这个就找文档中从BluetoothAdapter可以返回的方法

接下来就是BluetoothGatt对象这个对象就是通讯中重要的东西了,当然是从BluetoothAdapter对象中获取的

connectGatt(Context context, boolean autoConnect,BluetoothGattCallback callback)

这三个参数,第一个context  这个从activity得到的,autoConnect就是自动连接,true就是蓝牙断开后会自动尝试链接.callback这个就是蓝牙通讯中的各个回调对象,一个BluetoothGatt对应一个BluetoothGattCallback对象,不嫌代码看着难受直接new一个就可以了,回调直接在这儿对象中处理.

BluetoothGattService这个对象的获取要按照套路来
在onConnectionStateChange蓝牙连接成功的回调中发现一下调用BluetoothGatt对象的discoverServices方法
去触发onServicesDiscovered回调,然后BluetoothGattService和BluetoothGattCharacteristic就可以直接在回调里获取了
不然老是告诉你空指针
 类似资料: