[Flutter_blue] Characteristic.write ([0x0,0x0], false) выдает мне сообщение «write_characteristic_error, служба не может быть расположена на устройстве» - PullRequest
1 голос
/ 16 октября 2019

Ошибка, вызванная на устройстве 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 все еще ищет службы (у меня была другая ошибка, включенная с этим), но я не могу найти способ избавиться от этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...