Обзор ближней бесконтактной связи (NFC)

Near Field Communication (NFC) — это набор беспроводных технологий ближнего радиуса действия, для установления соединения обычно требуется расстояние не более 4 см. NFC позволяет обмениваться небольшими порциями данных между тегом NFC и устройством под управлением Android или между двумя устройствами под управлением Android.

Теги могут различаться по сложности. Простые теги предлагают семантику только чтения и записи, иногда с одноразовыми программируемыми областями, чтобы сделать карту доступной только для чтения. Более сложные теги предлагают математические операции и имеют криптографическое оборудование для аутентификации доступа к сектору. Самые сложные теги содержат операционную среду, позволяющую осуществлять сложное взаимодействие с кодом, исполняемым на теге. Данные, хранящиеся в теге, также могут быть записаны в различных форматах, но многие API-интерфейсы платформы Android основаны на стандарте NFC Forum под названием NDEF (формат обмена данными NFC).

Устройства на базе Android с NFC одновременно поддерживают три основных режима работы:

  1. Режим чтения/записи , позволяющий устройству NFC считывать и записывать пассивные теги и наклейки NFC.
  2. Режим P2P , позволяющий устройству NFC обмениваться данными с другими узлами NFC.
  3. Режим эмуляции карты , позволяющий самому устройству NFC действовать как карта NFC. Доступ к эмулируемой карте NFC можно получить с помощью внешнего устройства считывания NFC, например терминала NFC в торговой точке.
Основы NFC
В этом документе описывается, как Android обрабатывает обнаруженные теги NFC и уведомляет приложения о данных, имеющих отношение к приложению. В нем также рассказывается, как работать с данными NDEF в ваших приложениях, и дается обзор API-интерфейсов платформы, которые поддерживают базовый набор функций NFC в Android.
Расширенный NFC
В этом документе рассматриваются API, позволяющие использовать различные технологии тегов, поддерживаемые Android. Если вы не работаете с данными NDEF или работаете с данными NDEF, которые Android не может полностью понять, вам придется вручную читать или записывать тег в необработанных байтах, используя собственный стек протоколов. В этих случаях Android предоставляет поддержку для обнаружения определенных технологий тегов и открытия связи с тегом с использованием вашего собственного стека протоколов.
Эмуляция карты на базе хоста
В этом документе описывается, как устройства Android могут работать как карты NFC без использования элемента безопасности, позволяя любому приложению Android эмулировать карту и напрямую взаимодействовать со считывателем NFC.