Revision as of 16:44, 30 November 2011 by Devnull (Talk | contribs)

Bluetooth discovery in Qt Mobility may not report devices (Nokia C6)

From Nokia Developer Wiki
Jump to: navigation, search

Bluetooth discovery in Qt Mobility may not report devices.

Article Metadata
Code ExampleTested with
Devices(s): Nokia C6-01
Platform(s): Qt mobility 1.2.1 and later
Device(s): All with internal Bluetooth
Platform Security
Signing Required: DevCert required
Capabilities: ReadDeviceData LocalServices WriteDeviceData
Keywords: QBluetoothDeviceDiscoveryAgent, BluetoothLinkManagerDeviceDiscoverer
Created: Devnull (24 Nov 2011)
Last edited: Devnull (30 Nov 2011)


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

Connect the Bluetooth headset and start listen an internet radio over the wireless lan.

Attempt to discover bluetooth devices. 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.

The example code: http://doc.qt.nokia.com/qtmobility-1.2/btscanner.html

The QBluetoothDeviceDiscoveryAgent API documentatiojn: http://doc.qt.nokia.com/qtmobility-1.2/qbluetoothdevicediscoveryagent.html


There is no known solution or workaround for the problem.

114 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.


Thank you!

We appreciate your feedback.