小编Kai*_*ser的帖子

NFC 标签将其可用技术(IsoDep、NfcA 和 Ndef 更改为仅 IsoDep 和 NfcA)

我正在开发一个 Android 应用程序,用于在手机和支持 NFC 的特定芯片之间进行接口,该芯片称为 NF4 芯片,由 EM Microelectronic 制造。这是该芯片数据表的链接:http : //www.emmicroelectronic.com/sites/default/files/public/products/datasheets/nf4-fs.pdf

在数据表的第 3 页中,总结了芯片的存储系统。我需要做的部分工作是在内存中创建一个文件并写入其中。我正在研究这个并使用手机和 NFC 标签对其进行测试。

为了实现我的需要,应用程序将以下 APDU 发送到芯片:

  • 在内存系统中选择一个 EF (Select File APDU)
  • 写入此文件(更新二进制 APDU)

该芯片带有其他与该芯片基本相同的NFC标签/卡,只是没有串行接口。

有一次我用额外的标签(卡片)之一测试我的应用程序。标签不再像以前那样运行了。EM Microelectronic(制造标签)开发的应用程序曾经能够读取和写入标签,但在此事件发生后,EM 应用程序停止执行此操作。

当我进一步调查这个问题时,我发现标签的技术从一开始的(IsoDep、NfcA 和 Ndef)变成了我的应用程序的一次测试会话之后的(IsoDep 和 NfcA)。因此,它基本上不再是 NFC 论坛支持的标签。

我不确定发生了什么,需要解决这个问题并将标签恢复到以前的状态。我还需要了解我的应用程序对标签做了什么使其变成这样,以便在我再次测试时阻止它发生。

我想到的一个理论是,也许当我的应用程序选择的 EF 不是将 NFC 数据存储在标签中的 DF 的子代时,这就是导致问题的原因。也就是说,NFC 专用文件仍在内存中,但未被选为当前文件......我不确定这是否真的会导致我描述的问题。

这是否有意义,或者可能是其他原因?

tags android nfc

5
推荐指数
0
解决办法
960
查看次数

标签 统计

android ×1

nfc ×1

tags ×1