2016-04-26 17 views
3

我正在使用QBluetoothDeviceDiscoveryAgent在Android手机上搜索BLE设备。是什么让QBluetoothDeviceDiscoveryAgent :: finished()被调用?

我通过调用QBluetoothDeviceDiscoveryAgent::start()来请求设备搜索。几秒钟后,排出QBluetoothDeviceDiscoveryAgent::finished(),但我没有拨打QBluetoothDeviceDiscoveryAgent::stop()

在这一点上,我的BLE设备还没有找到(这很慢...我知道),它不会像系统自行决定停止搜索....所以我需要重新启动手动搜索。

为什么系统停止搜索? Qt文档说约QBluetoothDeviceDiscoveryAgent::finished()

当蓝牙设备发现完成时发出此信号。

这是什么意思?任何人都可以决定发现完成?它来自BLE标准吗?作为最终用户,我是唯一一个知道它何时完成的人,也就是说,当我找到的设备被发现时。...

+0

可能从Android的蓝牙接口转发。我会看看实现,看看可以触发它。 –

+0

@FrankOsterfeld:好点! 'src \ bluetooth \ qbluetoothdevicediscoveryagent_android.cpp',第273行他们创建了一个10秒的定时器,它将停止扫描....你可以发表这个答案,我会接受它。 – jpo38

回答

相关问题