(Difference between revisions)

Category:Near Field Communication (NFC)

From Nokia Developer Wiki
Jump to: navigation, search
rebloor (Talk | contribs)
(Updated to describe the latest NFC offering)
rebloor (Talk | contribs)
m (Removed draft status)
Line 104: Line 104:
* Find the [http://www.nfc-forum.org/specs NFC Forum Specifications], including NDEF and RTD specifications
* Find the [http://www.nfc-forum.org/specs NFC Forum Specifications], including NDEF and RTD specifications
* Get a good overview of NFC technology and some code examples from the [http://java.sun.com/developer/technicalArticles/javame/nfc/ NFC J2ME Tutorial]. This is a sound starting point for beginners.
* Get a good overview of NFC technology and some code examples from the [http://java.sun.com/developer/technicalArticles/javame/nfc/ NFC J2ME Tutorial]. This is a sound starting point for beginners.
* Discover [http://wiki.forum.nokia.com/index.php/Portal:NFC_Java_Code_Examples NFC Java Code Examples][[Category:Draft]][[Category:FNWiki]]
* Discover [http://wiki.forum.nokia.com/index.php/Portal:NFC_Java_Code_Examples NFC Java Code Examples]

Revision as of 10:46, 19 April 2011

To support developers creating NFC applications, this category page provides a summary of the NFC technology and related development tools and development technology offered by Nokia.




Near Field Communication, more commonly referred to by its acronym of NFC, is a very short-range radio technology. It enables communication between an NFC reader and NFC tag when they are typically closer than 4cm from one another.

A complete introduction, more details about the technology and its support by Nokia are available in the Introduction to NFC document available from the Forum Nokia website.

Nokia device and platform support for NFC

Nokia originally introduced NFC in the Series 40 Nokia 6212 classic and Nokia 6131 NFC devices. Nokia is introducing the technology to the Nokia C7-00 device (through the forthcoming Symbian Anna firmware update) and Nokia C7-Astound available from T-Mobile USA. Check the Devices section of the Forum Nokia website for a full list of devices with NFC technology and their availability.

NFC modes and use cases

NFC implemented on Symbian devices provides support for the following NFC modes:

  • read/write — a Symbian device can read from or write to a NFC tag (fully supported).
  • peer-to-peer (P2P) — a Symbian device and another NFC device can exchange data (partially supported through Qt Mobility and Symbian C++ APIs only).

Card emulation mode is not supported.

This mode support can be used to implement the following use cases:

  • Service Initiation — a Symbian device can read data, such as a URL, from an NFC tag and initiate a service, such as browsing a website.
  • Connecting devices — a Symbian device can read Bluetooth configuration details from another device or tag.
  • Sharing — a Symbian device can share data with another NFC enabled device using an NFC data channel (for small amounts of data) or by creating and using a Bluetooth connection (for larger data items).

In this video, Stephane Doutriaux and Scott Tavelli of Poken discuss some of the use cases NFC on Symbian devices is enabling in the Poken application.

Developing NFC applications

You can create applications that leverage NFC technology using APIs provided in Qt, Java™ ME, and Symbian C++. Of these options, using Qt is the recommended approach as it’s the core development framework for Symbian and is available for MeeGo powered devices as well.

Qt based development

You create NFC enabled applications using the Qt Mobility 1.2 Connectivity API. The advantage of this approach is that you are working with the productive Qt cross-platform API, so you can code once for an app that will run on Symbian and MeeGo devices.

To get started you need an NFC enabled device and the Qt SDK 1.1 plus:

You can find example apps and code in the Qt Mobility 1.2 beta for Symbian add on package. The package enables development with the Symbian C++ NFC API also.

Java ME based development

You can make use of the NFC features in Symbian devices using the Contactless Communication API (JSR-257) and Nokia Extensions to JSR-257. This may be the most convenient approach if you have developed NFC applications for Series 40 devices (such as the Nokia 6131 NFC and Nokia 6212 classic). To get started you will need an NFC enabled device plus:

  • NetBeans or Eclipse IDE
  • Symbian^3 SDK 1.0 (available shortly)
  • NFC plug-in for the Nokia Symbian^3 SDK 1.0 (available shortly)

You can use the NFC device SDKs for the Series 40 devices also, if you wish. In particular, these SDKs currently offer better features for testing.

Symbian C++ based development

If you’re familiar with Symbian C++ you can use the Symbian C++ APIs in a pure Symbian C++ app. To do this, you need an NFC enabled device plus:

  • Carbide.c++
  • Symbian^3 SDK 1.0 (available shortly)
  • NFC plug-in for the Nokia Symbian^3 SDK (available shortly)
  • API documentation (available shortly)

UI design considerations

As NFC is supported in a small (but set to grow) number of devices, it’s important to take this into account when creating your application. There are two approaches you can take:

  • If your application offers functionality that relies entirely on NFC, you can restrict it to install on devices known to offer NFC hardware only.
  • Where your application offers functionality that is useful without the use of NFC technology, then the UI should hide or disable the NFC features when running on a device without NFC hardware.

However, in both cases when running on the Nokia C7-00 your application should test to see if NFC functionality is available. If it’s not available the application should request the user to perform a firmware update (either using the SW Update application on their device or by running software update in Ovi Suite).

To determine if a device offers NFC:

  • In a Qt or Symbian C++ application use the IsFeatureSupported method of the TFeatureSet class and test for KFeatureIdNfc (ID = 117).
  • In a Java application query the javax.microedition.contactless.version system property value for the supported JSR-257 version. If the API is supported on the device, the property returns 1.0.


If you choose to develop with the device SDKs for the Series 40 devices or make use of the Symbian^3 SDK with the NFC plug-in, these tools provide some emulation of NFC tags and devices suitable for application testing.

Features to emulate NFC tags and devices are planned for Qt SDK.

An NFC device is recommended also to complete testing prior to distributing your application.

Obtaining an NFC enabled device

If you’re a Forum Nokia Launchpad or PRO member you can obtain an NFC enabled device through the Prototype Device Loaning Service or the Discounted Devices Program.

As part of the Discounted Devices Program Nokia plans to provide an NFC Device Kit that will include an NFC mobile device and sample NFC tags. Advice of the kit’s availability will be made through the Launchpad and PRO newsletters; however you may wish to periodically check the Discounted Devices Program page for the kit’s availability.

If you’re not a member of Launchpad or PRO, you can find details on how to join Launchpad here.

There are currently 28 articles tagged NFC in this Wiki.

Recently Edited NFC Articles

Most Viewed NFC Articles

Other NFC resources


This category has the following 2 subcategories, out of 2 total.


669 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.