我有一些使用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);

09-11 05:56