QtMobility Reference Documentation



The Connectivity API provides a set of APIs for communicating with local devices.

The current version of the Connectivity API includes support for Bluetooth and Near Field Communication (NFC) technologies. Bluetooth is a short-range (less than 100 meters) wireless technology. It has a reasonably high data transfer rate of 2.1 Mbit/s, which makes it ideal for transfering data between devices.

The Bluetooth API provides classes for controlling the local Bluetooth device, discovering devices in the local vacinity, discovering services provided by those devices, publishing services and both server and client sockets for L2CAP and RFCOMM protocols.

NFC is an extremely short-range (approx. 1 centimeter) wireless techonology and has a maximum transfer rate of 424 kbit/s. NFC is ideal for transfer small packets of data when two devices are touched together.

The NFC API provides APIs for interacting with NFC Forum Tags and NFC Forum Devices, including target detection and loss, registering NDEF message handlers, reading and writing NDEF messages to NFC Forum Tags, send tag specific commands. The API also provides client and server LLCP sockets.

Known Issues and Limitations

Bluetooth and S60 5.0/Symbian^1

The S60 5.0 SDK as shipped by Nokia does not include all the required header files and libraries to compile the bluetooth backend for Symbian. It contains a subset of the requires bluetooth library. There is a Bluetooth plugin available for the S60 3.2 SDK but it cannot be used since it will overwrite and damage part of the bluetooth support already present in the 5.0 SDK. As such, compiling QtMobility for Symbian/S60 5.0 not recommended until Nokia releases a S60 5.0/Symbian^1 bluetooth plugin. A bug has been opened about this issue: http://bugreports.qt.nokia.com/browse/QTMOBILITY-1660


The NFC API is only supported on Harmattan and Symbian^3 and the Qt Simulator. On Symbian^3 the API is fully functional. On the Qt Simulator only target detection and loss and tag access are support. On Harmattan the following features are NOT supported:

  • Connectionless LLCP sockets (both client and server).
  • Tag type specific access.


Some interesting examples for the API exist.

NFC Annotated URLDisplays URL along with caption text and an image from from an NFC tag containing a specially formated NDEF message.
Bluetooth ChatA chat server and client using bluetooth.
Bluetooth TennisThe classic game of Pong. Supports multiplayer over Bluetooth and touch-to-play functionality on devices that support NFC.
Bluetooth File TransferTransfer files between Bluetooth devices.
Bluetooth ScannerScan for Bluetooth devices.
NDEF EditorCreate NDEF messages using the NDEF records supported by the Connectivity API and save them to supported NFC Forum tags.
QML Bluetooth TennisThe tennis game using a QML interface to the Bluetooth API. It must connect to an instance of the C++ Bluetooth Tennis game to play.
QML Bluetooth ScannerA QML implementation of the Bluetooth device scanner.
QML PosterA QML implementation of the NFC Annotated URL example.
Nfc InfoShows all information about NFC tags.
Nfc CorkboardExample how to autolauch an application by touching a NFC tag.
Nfc ChatNFC chat application.

See also Nfc Code Examples link.

Main Classes

NFC Classes


Implements the NdefRecord element in QML


NFC LLCP socket based server


NFC LLCP socket

QML NdefMimeRecord Element

The NdefMimeRecord element represents an NFC MIME record.


Filter for matching NDEF messages


NFC NDEF message






NFC NDEF record


Access to notifications for NFC events


Interface for communicating with an NFC Tag Type 1 tag


Interface for communicating with an NFC Tag Type 2 tag


Interface for communicating with an NFC Tag Type 3 tag


Interface for communicating with an NFC Tag Type 4 tag


Interface for communicating with a target device

Bluetooth Classes


Data type for Bluetooth Data Element Alternative attributes


Contains functions and definitions related to Bluetooth


Bluetooth address


API for discovering nearby Bluetooth devices


Information about Bluetooth devices


Access to local Bluetooth devices


API for querying the services provided by a Bluetooth device


Information about services


Bluetooth socket


Allows the application to send data objects to other devices. Currently implemented using OPP


Contains the data and headers for a request sent with QBluetoothTranferManager


Holds a request to be sent with QBluetoothTransferManager


Bluetooth UUID


L2CAP server


RFCOMM server


Data type for Bluetooth Data Element Sequence attributes

Qt Quick Elements

QML BluetoothDiscoveryModel Element

The BluetoothDiscoveryModel element provides access device and service scanning

QML BluetoothService Element

The BluetoothService element contains all the information available for a single bluetooth service..

QML BluetoothSocket Element

The BluetoothSocket element represents a single bluetooth client socket.

QML NdefFilter Element

The NdefFilter element represents a filtering constraint for NDEF message records.

QML NdefRecord Element

The NdefRecord element represents a record in an NDEF message.

QML NdefTextRecord Element

The NdefTextRecord element represents an NFC RTD-Text NDEF record.

QML NdefUriRecord Element

The NdefUriRecord element represents an NFC RTD-URI NDEF record.

QML NearField Element

The NearField element provides access to NDEF messages stored on NFC Forum tags.

QML NearFieldSocket Element

The NearFieldSocket element represents an LLCP socket.


Thank you for giving your feedback.

Make sure it is related to this specific page. For more general bugs and requests, please use the Qt Bug Tracker.