2012-11-30 50 views
2

我对NFC Android非常新手。现在我正在做关于NFC的项目,它必须用安全的数据编写NFC标签。所以在这里我的应用程序应该支持所有论坛标签和MifareClassic,Mifare Unltralight标签。我从tapintonfc blogspot获得了一个样本,它适用于所有nfc论坛标签,但不适用于MifareClassic。所以我在文档中找到了MifareClassic Tag中的数据。我明白,MifareClassic包含扇区,每个扇区有4个块,其中一个块用于存储keyA,keyB进行认证。所以我的疑问是我可以将contactData和call/sms数据存储到单个MifareClassic标签中。如果是,如何?我的第二个疑问是,如果Card将一次存储一个数据(联系人或电话/短信),那么如果我的联系人数据是400字节,那么如何将它存储在扇区中。很明显,我们可以使用每个扇区48个字节的空间。请有人澄清我的疑惑。如何将数据写入MifareClassic标签?

由于提前

回答

4

您可以使用推NFC高级API数据到MifareClassic标签。

有两种方式推送数据:

  • NDEF消息(高级别路):我建议使用这种方法来推动联系人的电子名片或数据类似。 NDEF消息是已经定义推那些类型的信息

  • 发送数据作为APDU命令,这是由谷歌包封的API中,但这种方式要求每个块的MifareClassic存储器结构(扇区,块,验证的理解,块和配置accesing的部门)第4块16个字节:你必须通过字节管理字节,你想在MIFARE

存储为推动NDEF消息(的easist方式)的信息,我建议你阅读本指南: http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html

为推动使用APDU命令数据阅读: http://www.nxp.com/documents/data_sheet/MF1S503x.pdf

理解是PDF格式后,您将了解如何使用NFC底层API

+0

嘿,非常感谢您的宝贵答案。请让我知道如果我先写联系人标签然后再尝试写纯文本会发生什么。它会存储这两个东西还是覆盖联系人标记。 – TNR

+0

这个http://tapintonfc.blogspot.in/2012/07/the-above-footage-from-our-nfc-workshop.html中的代码是否会将数据写入MifareClassic? – TNR

+0

您可以编写多个不同类型的记录,因此从理论上讲,如果要编写一个联系人VCARD,然后输入纯文本,则没有问题。 写在那里的代码是用于Mifare Ultralight,这些标签上没有认证,只写入数据。 MifareClassic需要验证,但编写NDEF消息的方式与此类似 – noni