Android BLE uygulamasında, bir seferde yalnızca bir işlemin (okuma, yazma vb.) Etkin olması için gatt işlem çağrılarının sıraya alınması gerekir. Örneğin, gatt.readCharacteristic(characteristicX)
çağrıldıktan sonra, okunmanın bittiğini belirtmek için gatt geri araması BluetoothGattCallback.onCharacteristicRead()
'u beklemeniz gerekir. Bir öncekinin tamamlanmasından önce ikinci bir gatt.readCharacteristic() işlemi başlatırsanız, ikincisi başarısız olur (false döndürerek). Bu, tüm gatt.XXX() işlemleri için geçerlidir.
Bu küçük bir çalışma, ancak en iyi çözüm, tüm gatt işlemleri için bir komut kuyruğu oluşturmak ve bunları bir seferde çalıştırmak olduğunu düşünüyorum. Bunu gerçekleştirmek için komut desenini kullanabilirsiniz.
Belki okumadan önce eşleştirmeli/bağlamanız gerekir? –