为CPR 40.30阅读器写入NFC-A基于主机的卡仿真

时间:2014-12-09 17:28:14

标签: android nfc android-4.4-kitkat hce

HCE是在Android 4.4中实现的,但关于如何在仿真卡中写入的信息很少。

  • 我有CPR 40.30读者
  • 此读卡器附带了一些示例NFC卡。我使用NFC读卡器阅读这些卡片。

与CPR 40.30兼容的NFC卡详细信息

  

IC制造商:       恩智浦半导体

IC type:
MIFARE Ultralight (MF0ICU1)

-- NDEF ------------------------------

NFC data set storage not present:
Maximum NDEF storage size after format: 46 bytes

-- EXTRA ------------------------------

 Memory size:
64 bytes total memory
* 16 pages, with 4 bytes per page
* 48 bytes user memory (12 pages)

-- TECH ------------------------------

 Technologies supported:
ISO/IEC 14443-3 (Type A) compatible
ISO/IEC 14443-2 (Type A) compatible

Android technology information:
Tag description:
* TAG: Tech [android.nfc.tech.NfcA, android.nfc.tech.MifareUltralight, android.nfc.tech.NdefFormatable]
android.nfc.tech.NdefFormatable
android.nfc.tech.MifareUltralight
android.nfc.tech.NfcA
* Maximum transceive length: 253 bytes
* Default maximum transceive time-out: 2000 ms

Detailed protocol information:
ID: 04:AC:91:52:CB:29:80
ATQA: 0x4400
SAK: 0x00

我想编写HCE代码,并希望我的Android手机就像一张可以被CPR 40.30阅读器阅读的卡片。我假设HCE代码应模拟具有上述规格的卡,因为读卡器可以读取上述NFC卡。

我迄今为止为HCE找到的唯一有用的示例代码是this,但它使用的是ISO-DEP。我想改用NFC-A(ISO / IEC 14443 A型)。

如何编写代码来模拟NFC-A卡?

推荐链接:

1 个答案:

答案 0 :(得分:0)

Android仅支持在ISO-DEP(ISO / IEC 14443-4)之上模拟ISO / IEC 7816-4应用程序结构。 Android API不提供任何访问较低协议层仿真的方法。

来自developer guide

  

具体来说,Android 4.4支持仿真基于NFC论坛ISO-DEP规范(基于ISO / IEC 14443-4)和ISO / IEC 7816中定义的处理应用协议数据单元(APDU)的卡。 4规范。

请注意,CPR 40.30也应支持ISO-DEP。