android - 如何将数据写入MifareClassic标签?

标签 android nfc mifare

我是 NFC Android 的新手。现在我正在做 NFC 项目,该项目必须使用安全数据写入 NFC 标签。所以这里我的应用程序应该支持所有论坛标签和 MifareClassic、Mifare Unltralight 标签。我从 Tapintonfc blogspot 获得了一个示例,该示例适用于所有 nfc 论坛标签,但不适用于 MifareClassic。所以我在文档中发现MifareClassic Tag中写入数据。我了解到MifareClassic包含扇区,每个扇区有4个 block ,其中一个 block 用于存储keyA,keyB以进行身份​​验证。所以我的疑问是我能否将 contactData 和通话/短信数据存储到单个 MifareClassic 标签中。如果是,怎么办?我的第二个疑问是卡是否一次存储一个数据(联系人或电话/短信),那么如果我的联系人数据有 400 字节,那么如何将其存储在扇区中。很明显,每个扇区可以使用 48 字节的空间。请有人解答我的疑惑。

提前致谢

最佳答案

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

推送数据有两种方式:

  • NDEF 消息(高级方式):我推荐使用此方法来推送联系人 VCARD 或类似数据。 NDEF 消息已定义为推送这些类型的信息

  • 将数据作为 APDU 命令发送,这些命令由 Google 封装在其 API 中,但这种方式需要了解 MifareClassic 内存结构(扇区、 block 、每个 block 的身份验证、 block 的 16 个字节和用于配置的第 4 个 block )访问扇区):您必须逐字节管理要存储在 Mifare 中的信息

要推送 NDEF 消息(最简单的方法),我建议您阅读本指南: http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html

要使用 APDU 命令推送数据,请阅读以下内容: http://www.nxp.com/documents/data_sheet/MF1S503x.pdf

了解该 PDF 后,您将了解如何使用 NFC 低级 API

关于android - 如何将数据写入MifareClassic标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13639079/

相关文章:

android - 方法 onNewIntent(intent) 未在 NFC 中执行

permissions - Mifare 访问条件计算

android - 在 Android 中扫描 NFC 标签时打开浏览器

c++ - libnfc : Write and read back custom data from NTAG

java - 使用泛型作为参数

android - 获取 NFC 标签序列号

java - 为什么我的应用程序在启动时不断崩溃 - Android

Android 和 Mifare Classic RFID 恢复

android - Android 模拟器中的 HTTP 代理适用于浏览器,不适用于 WebView

android - BackgroundColorSpan 始终为黄色