×
Namespaces

Variants
Actions
(Difference between revisions)

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

From Nokia Developer Wiki
Jump to: navigation, search
Devnull (Talk | contribs)
(Devnull -)
Devnull (Talk | contribs)
m (Devnull -)
Line 1: Line 1:
[[Category:Qt Mobility]][[Category:Connectivity]]
+
[[Category:Qt Mobility]][[Category:Connectivity]][[Category:Qt]]
 
{{Abstract| Qt Bluetooth discovery omit the devices in the cache from the results }}  
 
{{Abstract| Qt Bluetooth discovery omit the devices in the cache from the results }}  
  

Revision as of 12:46, 24 November 2011

Qt Bluetooth discovery omit the devices in the cache from the results

Article Metadata
Code ExampleTested with
Devices(s): Nokia C6-01
Compatibility
Platform(s): Qt mobility 1.2.1 and later -->
Symbian
Device(s): must have internal bluetooth -->
Platform Security
Capabilities: ReadDeviceData LocalServices WriteDeviceData
Article
Keywords: QBluetoothDeviceDiscoveryAgent, BluetoothLinkManagerDeviceDiscoverer
Created: ()
Last edited: Devnull (24 Nov 2011)

Description

Bluetooth devices which are listed in the cache cannot be retrieved with Qt mobility APIs

How to reproduce

Bluetooth device names are cached after each inquiry. Upon a new paired device process is initiated, these cached devices shown first to the user for convinience.

Similar inquiry can be initiated with Qt mobility APIs using QBluetoothDeviceDiscoveryAgent::start() method.

The result that this Qt mobility APIs provide can be shorter however. It is possible to receive the following output in Qt creator before all of the available devices shown:

[Qt Message] void QtMobility::BluetoothLinkManagerDeviceDiscoverer::RunL() 0 
[Qt Message] void QtMobility::BluetoothLinkManagerDeviceDiscoverer::RunL() -25

Where -25 means KErrHostResNoMoreResults after the first device is reported. The reason for such short list is devices which were previusly cached are ignored by the API by using explicitly the KHostResIgnoreCache flag upon the discovery:

void BluetoothLinkManagerDeviceDiscoverer::startDiscovery(const uint discoveryType)
{
...
m_addr.SetAction(KHostResInquiry | KHostResName | KHostResIgnoreCache);
...
}

Solution

There is no known solution or workaround for the problem.
113 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.

×