page.title=Near Field Communication
@jd:body

  <p>Near Field Communication (NFC) is a set of short-range wireless technologies, typically
  requiring a distance of 4cm or less to initiate a connection. NFC allows you to share small
  payloads of data between an NFC tag and an Android-powered device, or between two Android-powered
  devices.

  <p>Tags can range in complexity. Simple tags offer just read and write semantics, sometimes with
  one-time-programmable areas to make the card read-only. More complex tags offer math operations,
  and have cryptographic hardware to authenticate access to a sector. The most sophisticated tags
  contain operating environments, allowing complex interactions with code executing on the tag.
  The data stored in the tag can also be written in a variety of formats, but many of the Android
  framework APIs are based around a <a href="http://www.nfc-forum.org/">NFC Forum</a> standard
  called NDEF (NFC Data Exchange Format).</p>

<p>Android-powered devices with NFC simultaneously support three main modes of operation:</p>

<ol>
<li><strong>Reader/writer mode</strong>, allowing the NFC device to read and/or write 
passive NFC tags and stickers.</li>
<li><strong>P2P mode</strong>, allowing the NFC device to exchange data with other NFC 
peers; this operation mode is used by Android Beam.</li>
<li><strong>Card emulation mode</strong>, allowing the NFC device itself to act as an NFC 
card. The emulated NFC card can then be accessed by an external NFC reader, 
such as an NFC point-of-sale terminal.</li>
</ol>

  <dl>
    <dt><strong><a href="{@docRoot}guide/topics/connectivity/nfc/nfc.html">NFC Basics</a></strong></dt>
    <dd>This document describes how Android handles discovered NFC tags and how it notifies
applications of data that is relevant to the application. It also goes over how to work with the
NDEF data in your applications and gives an overview of the framework APIs that support the basic
NFC feature set of Android.</dd>

    <dt><strong><a href="{@docRoot}guide/topics/connectivity/nfc/advanced-nfc.html">Advanced
    NFC</a></strong></dt>
    <dd>This document goes over the APIs that enable use of the various tag technologies that
    Android supports. When you are not working with NDEF data, or when you are working with NDEF
    data that Android cannot fully understand, you have to manually read or write to the tag in raw
    bytes using your own protocol stack. In these cases, Android provides support to detect
    certain tag technologies and to open communication with the tag using your own protocol
    stack.</dd>

    <dt><strong><a href="{@docRoot}guide/topics/connectivity/nfc/hce.html">Host-based Card Emulation</a></strong></dt>
    <dd>This document describes how Android devices can perform as NFC cards without using
    a secure element, allowing any Android application to emulate a card and talk directly to
    the NFC reader.</dd>
  </dl>
</p>