我在Android平台上测试我的应用程序时遇到问题。我在x86架构上有功能应用程序。该应用程序可以连接到蓝牙LowEnergy设备并与其通信。 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"));