@Override public void onCharacteristicChanged( BluetoothGatt gatt, BluetoothGattCharacteristic characteristic) { super.onCharacteristicChanged(gatt, characteristic); // Log.d(LOG_TAG, "onCharacteristicChanged " + characteristic); byte[] dataValue = characteristic.getValue(); Log.d(LOG_TAG, "Letto:" + BleManager.bytesToHex(dataValue) + " da:" + device.getAddress()); WritableMap map = Arguments.createMap(); map.putString("peripheral", device.getAddress()); map.putString("characteristic", characteristic.getUuid().toString()); map.putString("value", BleManager.bytesToHex(dataValue)); sendEvent("BleManagerDidUpdateValueForCharacteristic", map); }
@Override public void onCharacteristicRead( BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) { super.onCharacteristicRead(gatt, characteristic, status); Log.d(LOG_TAG, "onCharacteristicRead " + characteristic); if (readCallback != null) { if (status == BluetoothGatt.GATT_SUCCESS) { byte[] dataValue = characteristic.getValue(); String value = BleManager.bytesToHex(dataValue); if (readCallback != null) { readCallback.invoke(value); readCallback = null; } } else { readFailCallback.invoke("Error reading " + characteristic.getUuid() + " status=" + status); readFailCallback = null; } readCallback = null; } }