2016-05-22 7 views
2

Ich habe ein Problem mit dem Testen meiner Anwendung auf Android-Plattform. Ich habe funktionale Anwendung auf x86-Architektur. Diese Anwendung kann sich mit einem Bluetooth LowEnergy-Gerät verbinden und mit ihm kommunizieren. BT-Gerät ist HM-10-Modul - serielle Leitung.Qt und Android characteristicallyChanged wird nicht ausgegeben

Aber wenn ich die gleiche Anwendung, aber nur für Android kompiliert, kann ich keine Daten zurück erhalten. Auf der anderen Seite kann ich auf dem entfernten Gerät sehen, dass alle Daten vom mobilen Endgerät gesendet werden.

Was ich als mögliches Problem vermute, ist, dass das Signal QLowEnergyService :: characteristicChanged nicht ausgegeben wird. In der Dokumentation http://doc.qt.io/qt-5/qlowenergyservice.html steht geschrieben, dass man sich für Änderungen anmelden sollte, aber zumindest am PC wird es irgendwie automatisch gemacht.

Würde mir bitte jemand helfen?

Antwort

1

Sie haben einige magische

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")); 
zu tun
Verwandte Themen