public void writeCharacteristic(byte[] speed_value){
//check mBluetoothGatt is available
if (mBluetoothGatt == null) {
Log.e(TAG, "lost connection");
return;
}
BluetoothGattService Service = mBluetoothGatt.getService(RX_SERVICE_UUID);
showMessage("new write char"+mBluetoothGatt);
if (Service == null) {
showMessage("service is null");
broadcastUpdate(DEVICE_DOES_NOT_SUPPORT_UART);
Log.e(TAG, "service not found!");
return;
}
BluetoothGattCharacteristic charac = Service.getCharacteristic(RX_CHAR_UUID);
if (charac == null) {
Log.e(TAG, "char not found!");
broadcastUpdate(DEVICE_DOES_NOT_SUPPORT_UART);
return;
}
charac.setValue(speed_value);
boolean status = mBluetoothGatt.writeCharacteristic(charac);
Log.d(TAG, "writeRXCharacteristic: statux tx"+status);
}
Примечание. Иногда он работает ниже уровня API 21, но здесь я пытаюсь запустить его поверх уровня 21