Я могу прочитать характеристику, но не могу написать
Я использую функцию GattCallback, и я определил и объявил все необходимые свойства внутри этой функции, но каким-то образом функция записи не запускается
Вот моя функция Gattcallback
private BluetoothGattCallback bleGattCallback = new BluetoothGattCallback() {
@Override
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {
gatt.discoverServices();
super.onConnectionStateChange(gatt, status, newState);
}
@Override
public void onServicesDiscovered(BluetoothGatt gatt, int status) {
BluetoothGattService service = gatt.getService(UUID_Service);
BluetoothGattCharacteristic charc= service.getCharacteristic(UUID_characteristic);
gatt.writeCharacteristic(charc);
super.onServicesDiscovered(gatt, status);
}
@Override
public void onCharacteristicRead(BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic, int status) {
super.onCharacteristicRead(gatt, characteristic, status);
}
@Override
public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) {
BluetoothGattService service = gatt.getService(UUID_Service);
int data1 = 02;
int data2 = 40;
int data3 = 0;
data1 = BluetoothGattCharacteristic.FORMAT_UINT8;
data2 = BluetoothGattCharacteristic.FORMAT_UINT8;
data3 = BluetoothGattCharacteristic.FORMAT_UINT8;
byte[] value = new byte[]{(byte)data1 , (byte)data2 ,(byte)data3};
characteristic.setValue(value);
characteristic.setWriteType(BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE);
runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(MainActivity.this,"completed!", Toast.LENGTH_SHORT).show();
}
});
super.onCharacteristicWrite(gatt, characteristic, status);
}
};
Я ожидал запустить функцию записи, но я могу только подключить устройство. Как я могу решить эту проблему?