近距離無線通信(NFC)の概要

近距離無線通信(NFC)は近距離無線技術のセットであり、通常は接続を開始するために必要な距離が 4 cm 以下です。NFC を使用すると、NFC タグと Android 搭載デバイス間、または 2 つの Android 搭載デバイス間で小さなデータ ペイロードを共有できます。

タグの構成はさまざまです。シンプルなタグは、セマンティクスの読み取りと書き込みのみを提供します。場合によっては、カードを読み取り専用にするために 1 回限りのプログラム可能領域を使用します。複雑なタグは数学演算を提供し、セクターへのアクセスを認証する暗号ハードウェアを備えています。最も高度なタグには動作環境が含まれているため、タグで実行されるコードと複雑な操作が可能です。タグに格納されるデータはさまざまな形式で記述することもできますが、Android フレームワーク API の多くは、NDEF(NFC Data Exchange Format)と呼ばれる NFC フォーラム標準に基づいています。

NFC を搭載した Android デバイスは、主に次の 3 つの動作モードを同時にサポートします。

  1. リーダー/ライター モード。NFC デバイスがパッシブ NFC タグとステッカーの読み取りと書き込みを行うことができます。
  2. P2P モード: NFC デバイスが他の NFC ピアとデータを交換できるようにします。このオペレーション モードは Android ビームで使用されます。
  3. カード エミュレーション モード。NFC デバイス自体を NFC カードとして機能させることができます。エミュレートした NFC カードには、NFC POS 端末などの外部 NFC リーダーからアクセスできます。
NFC の基本
このドキュメントでは、Android が検出された NFC タグを処理する方法と、アプリに関連するデータをアプリに通知する方法について説明します。また、アプリで NDEF データを処理する方法、および Android の基本的な NFC 機能セットをサポートするフレームワーク API の概要についても説明します。
高度な NFC
このドキュメントでは、Android がサポートするさまざまなタグ技術の利用を可能にする API について説明します。NDEF データを扱っていない場合、または Android で完全には認識できない NDEF データを扱っている場合は、独自のプロトコル スタックを使用して、手作業で RAW バイトでタグの読み取りまたは書き込みを行う必要があります。このような場合、Android は特定のタグ技術を検出し、独自のプロトコル スタックを使用してタグとの通信を開始するためのサポートを提供します。
ホストベースのカード エミュレーション
このドキュメントでは、Android デバイスがセキュア エレメントを使用せずに NFC カードとして機能し、任意の Android アプリでカードをエミュレートして NFC リーダーと直接通信できるようにする仕組みについて説明します。