La technologie NFC (communication en champ proche) est un ensemble de technologies sans fil de courte portée, qui nécessitent généralement une distance maximale de 4 cm pour établir une connexion. La technologie NFC vous permet de partager de petites charges utiles de données entre un tag NFC et un appareil Android, ou entre deux appareils Android.
La complexité des tags peut varier. Les tags simples offrent simplement une sémantique de lecture et d'écriture, parfois avec des zones programmables une seule fois pour rendre la carte en lecture seule. Les tags plus complexes permettent d'effectuer des opérations mathématiques et sont dotés de matériel cryptographique pour authentifier l'accès à un secteur. Les balises les plus sophistiquées contiennent des environnements d'exploitation, permettant des interactions complexes avec le code s'exécutant sur la balise. Les données stockées dans le tag peuvent également être écrites dans différents formats, mais de nombreuses API du framework Android sont basées sur une norme de forum NFC appelée NDEF (format d'échange de données NFC).
Les appareils Android dotés de la technologie NFC prennent en charge simultanément trois modes de fonctionnement principaux:
- Le mode lecteur/rédacteur, qui permet à l'appareil NFC de lire et d'écrire des tags et des autocollants NFC passives.
- Le mode P2P, qui permet à l'appareil NFC d'échanger des données avec d'autres pairs NFC. Ce mode de fonctionnement est utilisé par Android Beam.
- Le mode d'émulation de carte, qui permet à l'appareil NFC lui-même d'agir comme une carte NFC. La carte NFC émulée est ensuite accessible par un lecteur NFC externe, tel qu'un terminal de point de vente NFC.
- Principes de base de la technologie NFC
- Ce document décrit comment Android gère les balises NFC détectées et informe les applications des données pertinentes. Il explique également comment utiliser les données NDEF dans vos applications et présente les API de framework compatibles avec l'ensemble des fonctionnalités NFC de base d'Android.
- Technologie NFC avancée
- Ce document présente les API permettant d'utiliser les différentes technologies de balises compatibles avec Android. Lorsque vous ne travaillez pas avec des données NDEF ou avec des données NDEF qu'Android ne peut pas comprendre entièrement, vous devez lire ou écrire manuellement dans la balise en octets bruts à l'aide de votre propre pile de protocole. Dans ce cas, Android permet de détecter certaines technologies de balise et d'ouvrir la communication avec la balise à l'aide de votre propre pile de protocole.
- Émulation de carte basée sur l'hôte
- Ce document décrit comment les appareils Android peuvent fonctionner en tant que cartes NFC sans utiliser de composant sécurisé, ce qui permet à toute application Android d'émuler une carte et de communiquer directement avec le lecteur NFC.