首页| 论坛| 消息

标题:Qt for android  BLE问题请教
作者:nikonice
日期:2019-06-03 10:14
内容:

Qt for android连接BLE,需求是进入连接ble界面,连接ble。退出连接ble界面ble自动断开。
但很奇怪,退出连接ble界面一次再进入连接ble界面可以连接ble,但多次退出再进入就再也连不上ble了,打印搜索看到无法搜索到要搜索的设备。怀疑是ble没有彻底断开。但查了好多资料 m_control->disconnectFromDevice();就说明ble与手机就已经断开连接了,请问有谁知道彻底断开ble还需要加入什么代码?我打印了QBluetoothLocalDevice状态,每次退出QBluetoothLocalDevice状态都是关闭状态ClosingState


代码如下

qml用的是ApplicationWindow
在 ApplicationWindow onClosing
关闭ble,c++代码如下

if (m_notificationDesc.isValid() && m_service)
m_service->writeDescriptor(m_notificationDesc, QByteArray::fromHex("0000"));
if (m_control)
{
qDebug()


#1 Re:Qt for androidBLE问题请教 [大千世界mcq 10-09 10:41]
你试试每次断开连接后,再 delete m_control; m_control = nullptr;下次需要连接时在new用出来试试。
#2 [buyi 03-01 13:02]
这么久了,问题解决没有
#3 [nikonice 03-24 13:49]
if (m_notificationDesc.isValid() && m_service) {
m_service->writeDescriptor(m_notificationDesc, QByteArray::fromHex("0000"));
} else {
m_control->disconnectFromDevice();
delete m_service;
m_service = 0;
}
即可

回复 发表
主题 版块