是什么让 QBluetoothDeviceDiscoveryAgent::done() 被调用
What makes QBluetoothDeviceDiscoveryAgent::finished() be called?
我正在使用QBluetoothDeviceDiscoveryAgent在Android手机上搜索BLE设备。
我请求通过调用QBluetoothDeviceDiscoveryAgent::start()来启动设备搜索。几秒钟后,QBluetoothDeviceDiscoveryAgent::done()被发出,但我没有调用QBluetoothDeviceDiscoveryAgent::stop()。
此时,尚未找到我的BLE设备(速度很慢...我知道),它不会因为系统自行决定停止搜索......所以我需要手动重新启动搜索。
为什么系统停止搜索?Qt doc 说关于 QBluetoothDeviceDiscoveryAgent::done():
蓝牙设备发现完成后,将发出此信号。
那是什么意思?谁能决定发现完成?它来自BLE标准吗?作为最终用户,我是唯一知道何时完成的人,即何时找到我正在寻找的设备......
正如Frank Osterfeld所评论的那样,QBluetoothDeviceDiscoveryAgent
的android实现(见第273行)静默地创建了一个10秒的超时,自动停止搜索。
对于想要搜索超过 10 秒的用户来说,这是一种痛苦......
在此处填写了错误报告:https://bugreports.qt.io/browse/QTBUG-53012
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在c++类上调用void函数
- 为什么 std::unique 不调用 std::sort?
- 调用专用模板时出错"no matching function for call to [...]"
- 选择要调用的构造函数
- C++为什么尽管我调用了void函数,它却不起作用
- 构造函数正在调用一个使用当前类类型的函数
- 变量没有改变?通过向量的函数调用
- 没有为自己的结构调用列表推回方法
- 调用'begin(int [n])'没有匹配函数
- 什么时候调用析构函数
- 如何用参数值调用函数(仅在运行时已知)
- QNetworkReply::done() 信号是按顺序调用还是同时调用?
- 是什么让 QBluetoothDeviceDiscoveryAgent::done() 被调用