首先,没有这样的事情 点对点NFC标签 。一个设备可以 或 对等设备或NFC标签,但不能同时使用两者。 (注意,设备仍然可以支持两种模式,但不能同时在两种模式下通信。)
因此,如果您使用NFC标签(如NFC论坛类型4标签)进行通信,则可以 的 没有 强> 点对点模式(因此 的 没有 强> 梁)涉及。在Android上,您可以使用NFC标签或非接触式智能卡进行通信(实际双向通信)。
对于Type 4标记,您可以在发现标记时检索NFC意图。您可以通过在应用清单中注册特定的NDEF记录或标记类型或使用 前台调度 系统(即,如果您想要在活动已经在前台时检测标签)。下一步是获取标记句柄( Tag 对象)来自意图:
Tag
Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
然后,您有两个Type 4标签选项。如果你想使用NDEF消息读/写操作与标签通信,你会得到一个 Ndef 标签的对象:
Ndef
Ndef ndefTag = Ndef.get(tag);
然后你可以使用 connect() 连接标签的方法, getNdefMessage() 从标签中读取当前的NDEF消息 writeNdefMessage(...) 将新的NDEF消息写入标记的方法。
connect()
getNdefMessage()
writeNdefMessage(...)
或者,如果要与标签执行低级别通信,可以使用 IsoDep 技术:
IsoDep
IsoDep isoDep = IsoDep.get(tag);
你可以使用 connect() 连接标签和方法的方法 transceive(...) 用标签交换ISO 7816-4 APDU(或可能是专有命令)的方法。
transceive(...)