я использую QBluetoothDeviceDiscoveryAgent искать устройства BLE на телефоне Android.
Я запрашиваю поиск устройства по телефону QBluetoothDeviceDiscoveryAgent :: заводится (). Через несколько секунд QBluetoothDeviceDiscoveryAgent :: законченный () испускается, но я не звонил QBluetoothDeviceDiscoveryAgent :: остановка ().
На данный момент мое устройство BLE еще не было найдено (оно медленно … я знаю), и не будет, поскольку система самостоятельно решила прекратить поиск …. поэтому мне нужно перезапустить поиск вручную.
Почему система останавливает поиск? Qt Doc говорит о QBluetoothDeviceDiscoveryAgent :: законченный ():
Этот сигнал испускается, когда обнаружение устройства Bluetooth завершается.
Что это значит? Как кто-нибудь может решить, что открытие завершено? Это от стандарта BLE? Как конечный пользователь, я единственный, кто знает, когда он будет завершен, то есть когда будет найдено устройство, которое я ищу ….
Как прокомментировал Фрэнк Остерфельд, реализация Android QBluetoothDeviceDiscoveryAgent
(см. строку 273) автоматически создает 10-секундный таймаут, который автоматически останавливает поиск.
Это боль для пользователей, которые хотят искать дольше 10 секунд …
Заполнен отчет об ошибке здесь: https://bugreports.qt.io/browse/QTBUG-53012
Других решений пока нет …