Bluetooth discovery in Qt Mobility may not report devices (Nokia C6)
Bluetooth discovery in Qt Mobility does not report devices in the cache.
Qt Bluetooth device discovery is achieved using the Qt Mobility API QBluetoothDeviceDiscoveryAgent start() method. On Symbian this will only discover new devices, ignoring those that have been previously cached.
The reason for this is that the Symbian implementation explicitly ignores cached results by setting the KHostResIgnoreCache flag:
void BluetoothLinkManagerDeviceDiscoverer::startDiscovery(const uint discoveryType)
m_addr.SetAction(KHostResInquiry | KHostResName | KHostResIgnoreCache);
How to reproduce
Pair with all local devices. Then attempt to discover the devices again. No devices are discovered - and in the Qt Creator debug window you can see the following messages
[Qt Message] void QtMobility::BluetoothLinkManagerDeviceDiscoverer::RunL() 0
[Qt Message] void QtMobility::BluetoothLinkManagerDeviceDiscoverer::RunL() -25
Where -25 means KErrHostResNoMoreResults.
There is no known solution or workaround for the problem.