该文档只说明一对多,蓝牙其余操作略过
需求
教练带七个学员训练,每个学员身上都有一套设备,该设备需要app通过ble控制
步骤
创建以下map,用来存储必要的信息
private Map mBluetoothGattMap = new ConcurrentHashMap<>(); //临时保存 BluetoothGatt
private Map mGattCharacteristicMap = new ConcurrentHashMap<>();// 临时保存蓝牙的特征值 Characteristic
private Map mGattCharacteristicNotifyMap = new ConcurrentHashMap<>();// 临时保存蓝牙的特征值 Characteristic
当蓝牙收到连接成功回调时(onConnectionStateChange)
private void onConnectStateSuccess(BluetoothGatt gatt){
BluetoothDevice device = gatt.getDevice();
mBluetoothGattMap.put(device.getAddress(), gatt);//把 BluetoothGatt 以 key-value 的形式临时保存起来
gatt.discoverServices();
}
当蓝牙收到连接失败回调时(onConnectionStateChange)
private void onConnectStateFailure(BluetoothGatt gatt){
String address = gatt.getDevice().getAdd