Ошибка, вызванная на устройстве Android (Oneplus 7 pro) с новейшей программой, которую я могу установить здесь. Я уверен, что сервис с таким идентификатором находится на моем устройстве, потому что он был обнаружен flutter_blue до его вызова.
Понятия не имею, что с этим происходит. Часть кода, которая имеет здесь значение:
var startVibrating = [0x00, 0xC0, 0x45, 0x22, 0x01, 0x1E, 0x00, 0x00, 0xC3];
BluetoothService btVibrations;
BluetoothCharacteristic vibChar;
//here iam getting interested service "starting vibrations" in my device.
void listServices() async {
List<BluetoothService> services = await widget.device.discoverServices();
services.forEach((service) async {
if (service.uuid.toString() == "daebb240-b041-11e4-9e45-0002a5d5c51b") {
btVibrations = service;
var characteristics = service.characteristics;
for (BluetoothCharacteristic c in characteristics) {
try {
if (c.uuid.toString() == "e16c6e20-b041-11e4-a4c3-0002a5d5c51b") {
//c.write(startVibrating, withoutResponse: true);
vibChar = c;
print("UUID val added FIRST: \n\n\n");
print(c.uuid);
}
} on Exception {
print("error");
}
}
}
});
}
void _startVibrating() async {
// print(await widget.device.canSendWriteWithoutResponse);
try {
widget.device.connect();
} on Exception {}
print("device: " + vibChar.deviceId.id);
vibChar.write(startVibrating, withoutResponse: true);
await vibChar.write(startVibrating, withoutResponse: true);
//await vibChar.read();
}
... blah blah blah rest of long code...
onPressed: _startVibrating,
... /blah blah blah ...
Я пытался сделать это с и без «Response», пытался (как вы можете видеть) убедиться, что устройство подключено. Я уверен, что переменные btVibrations и vibChar не равны нулю.
Моя идея заключается в том, что это может быть вызвано тем, что flutter_blue все еще ищет службы (у меня была другая ошибка, включенная с этим), но я не могу найти способ избавиться от этого.