【发布时间】:2014-01-29 22:33:33
【问题描述】:
有谁知道在 Android NFC 中,一部手机如何检测其他 NFC 设备的类型,包括标签、另一部 P2P 手机或另一部处于托管模拟器模式的手机?代码中的消息都是来自NdefMessage,请问消息是从哪一种设备发出的?
【问题讨论】:
-
如果你在写一个app,你控制发送端吗?
标签: android nfc ndef nfc-p2p hce
有谁知道在 Android NFC 中,一部手机如何检测其他 NFC 设备的类型,包括标签、另一部 P2P 手机或另一部处于托管模拟器模式的手机?代码中的消息都是来自NdefMessage,请问消息是从哪一种设备发出的?
【问题讨论】:
标签: android nfc ndef nfc-p2p hce
这取决于您在应用中接收 NdefMessage 的方式。例如,如果您通过ACTION_NDEF_DISCOVERED 意图接收它,则有一个额外的强制意图EXTRA_TAG。使用在那个额外中传递的Tag 对象,您可以估计用于传递 NDEF 消息的设备类型。
此方法应允许您清楚地区分通过点对点模式接收的消息和来自 NFC 标签/智能卡/卡模拟设备的消息。区分实际的 NFC 标签(或非接触式智能卡)和卡模拟模式的设备肯定会更加困难,并且肯定需要一些广泛的指纹识别(例如,可以区分模拟 NfcA 并且还支持点对点模式的设备从 NfcA 标签到其 SAK 字节,这通常表示支持 NFCIP-1)。
【讨论】: