NFC
Near Field Communication (NFC) is a set of wireless technologies which allows for the transfer of data across short distances—typically 4cm (1.5 inch) or less—between two NFC-enabled devices. The technology is most commonly seen in use when payments are made by touching an NFC-enabled credit/debit card to an NFC-enabled payment terminal. NFC allows the transfer of small payloads of data, usually text or numbers. But NFC can also be used to transfer other kinds of data (such as images and files) between two NFC-enabled devices.
For more information about NFC, see nearfieldcommunication.org, Wikipedia, and the NFC Forum.
NFC-enabled devices
NFC-enabled devices may be active or passive. A passive device—for example an NFC tag in a credit card—contains information that other (active) NFC devices, such as smartphones, can read. Active devices can read information and send information. A smartphone is an active NFC device. It can read information from passive NFC devices as well as exchange information with other NFC-enabled devices.
If security of communication is important, NFC can establish a secure connection and use encryption.
NDEF technology
NFC data is sent and received in the form of NFC Data Exchange Format (NDEF) messages. In the NDEF format, each communication is an NFC tag. Each NFC tag contains an NDEF message, and each NDEF message contains one or more NDEF records. When an active NFC device is unlocked, it will automatically search for NFC tags in its vicinity. Depending on the intent of any discovered NFC tag, the device will determine how to best handle the NFC tag. It is important that the device does not ask the user what action to take. This is because any user input will cause the device to be moved away from the NFC tag, thus breaking the connection. For more information, see the Android Developer Guide.
One important point to keep in mind while designing for NFC in MobileTogether is that the payload of the NFC message (that is, the content of the message) is stored and transferred in hexBinary format. The lexical space of the hexBinary format is a simple coding (of data points) as hexadecimal values. For example: The string hi when converted to hexBinary format is 6869 (since the hex representation of h is 68 and the hex value of i is 69).
NFC tags
The term NFC tag is used to refer to two different concepts:
•a piece of data that is transferred using the NDEF technology (see NDEF technology immediately above)
•a passive NFC device that contains NFC data
The second kind of NFC tag listed above is a hardware object that contains a microchip. In its simplest form, this kind of NFC tag resembles a postage label. The most significant properties of this kind of NFC tag are: (i) it contains data that can be read; (ii) the data it contains can be overwritten multiple times till the NFC tag is locked; (iii) once it is locked, the NFC tag cannot be overwritten any more.
For more information, see this article: How NFC Tags and Readers Work.
NFC availability on Android, Windows, and iOS
•Android: To check the availability of NFC on an Android device and enable it, go to: Settings | Connected Devices | Connection preferences | NFC.
•Windows: To check the availability of NFC on a Windows device and enable it, go to: Settings | Tap+Send.
•iOS: NFC is used primarily with Apple Pay.
Note: | If both an Android device and a Windows device are NFC-enabled, then the Windows device can send data to the Android device via NFC. |
MobileTogether and NFC
MobileTogether solutions support NFC in the following ways:
•NFC tags can be read and data from them can be processed further (Android and Windows devices).
•Messages can be pushed from a Windows device to an NFC-enabled receiving device.
Note: | NFC support in MobileTogether is not available on iOS devices. |
Note about Android Beam™
Android Beam™ is an app that is available on Android devices since Android 4.0. It enables the sharing of data between two Beam-enabled devices. Android Beam has been deprecated since Android 10.
Android Beam was supported in MobileTogether from versions 3.2 to 8.1. However, starting with MobileTogether 9.0, support for Android Beam has been discontinued and any push functionality that used Android Beam must be removed.
In this section
•Discovering and Reading NFC Tags
•Pushing Data to Other Devices