Android NFC Guide Tutorial

Advertisements


NFC stands for Near Field Communication, and as the name implies it provides a wireless communication mechanism between two compatabile devices. NFC is a short range wireless technology having a range of 4cm or less for two devices to share data.

How It Works:

Like Bluetooth and WiFi, and all manner of other wireless signals, NFC works on the principle of sending information over radio waves. Through NFC data is send through electromagnetic induction between two devices.

NFC works on the bases of tags , it allows you to share some amount of data between an NFC tag and an android powered device or between two android powered devices. Tags have various set of complecities. The Data stored in the tag can be written in a variety of formats, but android APIs are based around a NFC standard called as NFC Data Exchange Format(NDEF)..

The transmission frequency for data across NFC is 13.56 megahertz, and data can be sent at either 106, 212 or 424 kilobits per second, which is quick enough for a range of data transfers from contact details to swapping pictures, songs and videos.

Android powered devices with NFC supports following three main modes of operations:

Three Modes of Operation

  1. Reader/Writer Mode:

  2. It allows the NFC device to read or write passive NFC tags.

  3. P2P mode:

  4. This mode allows NFC device to exchange data with other NFC peers.

  5. Card emulation mode:

  6. It allows the NFC device itself to act as an NFC card, so it can be accessed by an external NFC reader.

How it works with Android:

To get the permission to access NFC Hardware, add the following permission in your Android.Manifest file.

<uses-sdk android:minSdkVersion="10"/>

First thing to note is that not all android powered devices provide NFC technology. So to make sure that your application shows up in google play for only those devices that have NFC Hardware, add the following line in your Android.Manifest file.

<uses-feature android:name="android.hardware.nfc" android:required="true"/>

Android provides a android.nfc package for communicating with another device. This package contains following classes:

Sr.NoClasses
1NdefMessage
It represents an immutable NDEF Message. .
2NdefRecord
It represents an immutable NDEF Record.
3NfcAdapter
It represents the local NFC adapter.
4NfcEvent
It wraps information associated with any NFC event.
5NfcManager
It is a high level manager used to obtain an instance of an NfcAdapter.
6Tag
It represents an NFC tag that has been discovered.

NFC tags system works in android with the help of some intent filters that are listed below:

Sr.NoFilters & Features
1ACTION_NDEF_DISCOVERED
This intent is used to start an Activity when a tag contains an NDEF payload.
2ACTION_TECH_DISCOVERED
This intent is used to start an activity if the tag does not contain NDEF data, but is of known technology.
3ACTION_TAG_DISCOVERED
This intent is started if no activities handle the ACTION_NDEF_DISCOVERED or ACTION_TECH_DISCOVERED intents.

To code an application that uses NFC technology is complex so don't use it in your app unless necessary. The use of NFC is not common in devices but it is getting popular. Let's see what is the future of this technology:

Future Applications:

With this technology growing day by day and tdue to introduction of contactless payment systems this technology is gtting a boom. A service known as Google Wallet is already introduced in the US which purpose is to make our smartphones a viable alternative to credit and transport cards.



Advertisements
Advertisements