android - 获取标签的数据负载

标签 android nfc smartcard ndef contactless-smartcard

我有一些使用 NFC 的卡(例如学生证或借记卡)。这些卡不使用 NDEF 存储数据。如何获取这些卡片的有效载荷?

目前,我使用这段代码:

if (intent.getAction() != null && NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction()))
{
    Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
}

谁能发现我如何获得标签的有效负载?

该卡的技术是 android.nfc.tech.IsoDepandroid.nfc.tech.NfcA

最佳答案

你可以得到 NfcA像这样的对象:

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
NfcA nfcA = NfcA.get(tag);

在您可以通过发送 APDU 与标签通信之后是这样的:

byte[] apdu = [...];
byte response = nfcA.transceive(apdu);

关于android - 获取标签的数据负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29718618/

相关文章:

android - 通过 NFC 部署 iPhone/Android 应用程序

java - 通过 USB 的 Android 智能卡读卡器错误 : PROCEDURE BYTE CONFLICT

android - 蓝牙 2.0+

android - 需要很长时间才能在设备中显示 epub 文件

更新gradle后Android单元测试无法解析被测类

android - 使用 jQuery Mobile 的 Android 应用程序的启动屏幕

java - 使用 WifiManager 连接到无线网络 (wpa2)

android - 在 Android 上读取 EM4102 RFID 标签

smartcard - 将私钥插入智能卡的数字签名

Java Graphics2d 使用证卡打印机将高分辨率图像打印到 CR80 卡中