Uro*_*nik 10 tags android nfc ndef hce
我有一个LG D320n Android手机,elechouse的PN532 nfc模块和Stollmann的NFCPlayer,我可以正确阅读NFC标签.
我从这里测试了一个样本:https://github.com/grundid/host-card-emulation-sample
它工作正常,当我读取一个Android设备作为标签与另一个Android设备作为阅读器.但我无法通过NFCPlayer将Android设备作为PN532阅读器的标签阅读.我希望读者从Android设备读取NDEF消息作为标签,但NFCPlayer甚至不能识别Android设备.我想我必须在Android方面做一些修改,但我无法弄明白该怎么做.我想我对NFC通信和HCE的工作方式知之甚少,尽管我读过这篇文章:https: //developer.android.com/guide/topics/connectivity/nfc/hce.html
我真的很感激任何可以帮助我理解我在这里缺少什么的指南.
grundid示例应用程序应该被 NFCPlayer 发现为“遗留标签”(选项卡“R/W:Legacy”),因为它没有实现 NDEF 抽象层。在该选项卡上,您可以与模拟智能卡交换 PDU(在 HCE 的情况下为 APDU)。示例应用程序的有效 APDU 是
00 A4 04 00 07 F0010203040506 00
Run Code Online (Sandbox Code Playgroud)
您可以通过在 PDU 字段中输入该 APDU 并单击“Exch. PDU”按钮来发送该 APDU。请注意,grundid HCE 应用程序甚至没有实现 ISO/IEC 7816-4 响应 APDU。因此,您可能会在使用某些非接触式智能卡读卡器时遇到麻烦。
如果您希望您的模拟智能卡被 NFCPlayer 发现为包含 NDEF 消息(选项卡“R/W:NDEF”)的 NFC 论坛类型 4 标签,您需要实现 NFC 论坛类型 4 标签操作规范(如NFC 论坛。此规范定义了数据必须如何存储在(模拟)ISO/IEC 14443-4 智能卡上才能解释为 NDEF 标签。作为起点,您可以在 HCE 示例应用程序上使用此 NDEF(不过,质量和可靠性该代码是有问题的)。此示例实现了用于存储 NDEF 数据的智能卡文件系统。