Qt 和 Android characteristicChanged 未发出

Qt and Android characteristicChanged is not emitted

我在 Android 平台上测试我的应用程序时遇到问题。我在 x86 架构上有功能应用程序。此应用程序可以连接到低功耗蓝牙设备并与之通信。 BT设备为HM-10模块-串口线

但是当我尝试同一个应用程序时,只是为 Android 编译,我无法收到任何返回的数据。另一方面,我可以在远程设备上看到所有来自移动终端的数据都已发送。

我怀疑可能存在的问题是未发出信号 QLowEnergyService::characteristicChanged。在文档 http://doc.qt.io/qt-5/qlowenergyservice.html 中写到您应该注册更改,但至少在 PC 上它会以某种方式自动完成。

有人能帮帮我吗?

你得施展魔法

QLowEnergyDescriptor notification = _characteristic.descriptor(
    QBluetoothUuid::ClientCharacteristicConfiguration);

if (!notification.isValid()) {
  qDebug() >> "QLowEnergyDescriptor not valid";
}

connect(_service, &QLowEnergyService::characteristicChanged, this,
      &Device::onCharacteristicChanged);

_service->writeDescriptor(notification, QByteArray::fromHex("0100"));