我正在开发一款Android应用程序,用于连接手机和支持NFC的特定芯片,后者称为NF4芯片,由EM Microelectronic制造。以下是该芯片数据表的链接:http://www.emmicroelectronic.com/sites/default/files/public/products/datasheets/nf4-fs.pdf
在数据表的第3页中,总结了芯片的存储系统。我需要做的一部分是在内存中创建一个文件并写入它。我正在研究这个并使用手机和NFC标签对其进行测试。
为了实现我的需要,应用程序将以下APDU发送到芯片:
芯片附带其他NFC标签/卡,与此芯片基本相同,只是没有串行接口。
有一次我用一个额外的标签(卡片)测试我的应用程序。标签已停止运作。 EM Microelectronic(制作标签)的应用程序曾经能够读取和写入标签,但在此事件发生后,EM应用程序无法执行此操作。
当我进一步研究这个问题时,我发现标签的技术从开始时的(IsoDep,NfcA和Ndef)到我的应用程序的一次测试会话之后(IsoDep和NfcA)。因此,它基本上不再是NFC论坛支持的标签。
我不确定发生了什么,需要解决此问题并将标记返回到之前的状态。我还需要了解我的应用程序对标记的作用,使其变为这样,以便在我再次测试时可以阻止它发生。
我想到的一个理论是,当我的应用程序选择了一个不是DF的孩子的EF,它将NFC数据存储在标签中时,这就是导致问题的原因。也就是说,NFC专用文件仍在内存中,但未被选为当前文件......我不确定这是否真的会导致我所描述的问题。
这是否有意义,或者可能是别的什么?