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"));
我在 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"));