Chapter Five: NFC 读写模式
读写模式:主要功能是完成 NFC设备 对 NFC标签 的操作
NFC读写模式介绍
- 又称为 NFC读卡器模式
- 需要熟悉NDEF协议 和 RTD协议
Tag 读操作(NDEF数据)
- NFC设备扫描到带有NDEF数据的标签时,Android会提供对消息解析的支持
- 学习目标:对任意的标准Tag进行读操作
Tag 读操作步骤
当NFC应用程序发现一个 NFC Tag 时,它会启动对应的Activity,在activity 中执行相应的操作:比如使用标签调度系统,定义特定的IntentFilter
if(NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction)){
// 1. 定义Tag对象
Tag detectedTag = getIntent().getParceableExtra(NfcAdapter.EXTRA_TAG);
// 2. 获取NDEF消息
// 3. NDEF 消息解析
// 4. 最终的真实数据展示和进一步操作
}
Intent 对象可以获取以下信息:
- EXTRA_TAG(必须的):代表被扫描到的标签的Tag对象:
Intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)
获取 - EXTRA_NDEF_MESSAGES(可选):是一个机械来自标签中的NDEF消息的数组。这个附加消息是强制在Intent对象上的:
Intent.getParcebleArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES)
获取的 - EXTRA_ID(可选):标签的低级ID
上述信息获取保证:Activity 是被扫描到的NFC Intent 对象启动的,可以在onResume()中添加以上代码
NDEF 消息的获取
String action = intent.getAction();
if(action.