Есть кое-что, чего я не совсем понимаю в использовании Gatt для связи с устройством BLE. Согласно этому: https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#connectGatt(android.content.Context,%20boolean,%20android.bluetooth.BluetoothGattCallback)
BluetoothGatt gatt = device.connectGatt(context,true,new BluetoothGattCallback(){....})
Я могу подключиться к устройству BLE и передать ему объект обратного вызова, чтобы получать уведомления о таких вещах, как onCharacteristicRead и onCharacteristicWrite.
Я не понимаю, как какая запись соответствует какому обратному вызову чтения?
Сигнатуры этого метода:
public void onCharacteristicRead (BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status)
public void onCharacteristicWrite (BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status)
so if I do:
BluetoothGattCharacteristic char = gatt.getService(UART_SERVICE_UUID).getCharacteristic(UART_TX_CHARACTERISTIC_UUID);
char1.setValue("command1");
gatt.writeCharacteristic(char);
char1.setValue("command2");
gatt.writeCharacteristic(char);
в обратном вызове onCharacteristicRead, как мне узнать, предназначена ли характеристика .getStringValue () для command1 или command2?
Спасибо!