NFC (Near Field Communication)
NFC 란 ?
가까운 거리에서 동작하는 근거리 무선 통신 기술 (실제 1~4 cm)
양방향 실시간 데이터 통신 가능, Android 폰이 리더기의 역할도 송신자 역할 할 수도 있음 (vs RFID : 태그에 있는 데이터 통신이 가능 )
발전
- Passive RFID Tag (수동 통신 모드): Tag 역할만을 수행 (자체 전력 없이 리더기에서 나오는 전파로만 동작 )
- Smart Cards
구성 : NDEF
TAC = sum( NdefMessage = sum(NdefRecord) )

실습
Intent의 NFC태그용 Action 안드로이드에서 NFC태그를 감지하고 데이터를 처리하기 위해
시스템이 발생하는 Intent 액션은 크게 세 가지 유형이 있으며, 이들은 우선순위에 따라 순차적으로 시도됩니다.
시스템의 Intent 전달 순서: NDEF_DISCOVERED -> TECH_DISCOVERED -> TAG_DISCOVERED
NDEF_DISCOVERED를 처리하는 앱이 성공적으로 실행되면, 더 낮은 우선순위의 액션은 발생하지 않습니다.
| Intent Action 상수 값 | 발생 조건 | 주요 용도 |
|---|---|---|
| android.nfc.action. NDEF_DISCOVERED | 태그에 NDEF 메시지가 포함되어 있고, Manifest의 <data> 필터와 NDEF 레코드의 MIME 타입URI가 일치할 때. |
URL, 텍스트, 사용자 지정 MIME 데이터 등 표준 데이터를 읽고 처리할 때 사용. |
| android.nfc.action. TECH_DISCOVERED | NDEF 데이터가 없거나, NDEF_DISCOVERED를 처리할 앱이 없을 때. Manifest에 선언된(tech-list)가 감지된 태그 기술과 일치할 때. | 로우 레벨의 NFC 통신이나 PCD (Proximity Coupling Device)와 같은 특정 칩셋에 직접 접근하여 복잡한 트랜잭션을 처리할 때 사용. |
| android.nfc.action. TAG_DISCOVERED | 시스템이 NFC 태그를 감지했으나, 데이터 형식이나 기술 기반으로 처리할 수 있는 특정 앱이 없을 때. | 최후의 수단으로 사용되며, NDEF나 TECH로 처리되지 않는 모든 유형의 태그를 포괄적으로 처리할 때 사용. |
NFC리더용 앱은 Intent를 통해 전달된 Tag객체에서 데이터를 추출합니다
NfcAdapter: 안드로이드 기기의 NFC 하드웨어를 나타내는 클래스입니다. NFC를 사용하려면 이 객체를 통해 시스템의 NFC 기능을 조작해야 합니다.
댓글남기기