我正在尝试从android手机以主机卡模拟模式向读卡器应用程序发送数据。我知道apdu的最大大小应该是260字节。不过,我需要发送远远超过(几千字节)。我知道我可以把数据分成“块”发送,但我真的很担心一般性能上的开销,有没有比260字节更大的apdu。如果必须的话,我也不介意做点小改动。干杯

最佳答案

回答我自己的问题。根据它们所容纳的数据的最大大小,有2种类型的APDU。正常大小的apdu(256字节)和有效载荷高达65536字节的扩展apdu。然而,并非所有智能卡和读卡器都支持扩展的apdu长度。
现在在android方面,android操作系统不支持扩展长度的apdu。即使大多数nfc控制器都支持它。因此,这是一个软件限制,而不是硬件限制。见
中的GetMaxTransceiveLength方法
https://android.googlesource.com/platform/packages/apps/Nfc/+/master/nci/src/com/android/nfc/dhimpl/NativeNfcManager

10-08 16:53