当前位置: 首页 > 知识库问答 >
问题:

注5读取Mifare经典卡UID

凌意
2023-03-14

我正在开发一个只读取MIFARE经典卡的UID的应用程序。但是,每次我扫描Galaxy Note 5上的卡片时,我都会收到一条祝酒词“不支持NFC标签类型”,并且UID没有显示。

我知道这一点,因为我手机的NFC芯片与米菲经典不兼容,但有什么方法可以修复它吗?

static void showToast() {
    if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(getIntent().getAction())) {
        Tag tag = getIntent().getParcelableExtra(NfcAdapter.EXTRA_TAG);

        Toast.makeText(MainActivity.this, 
                "The UID for this card is:" + bin2hex(tag.getId()), 
                Toast.LENGTH_LONG)
                .show();
    }
}

static String bin2hex(byte[] data) {
    return String.format("%0" + (data.length * 2) + "X", new BigInteger(1, data));
}

提前谢谢。

共有1个答案

葛航
2023-03-14

Galaxy Note 5不支持Mifare Classic。请参阅此处:https://www.shopnfc.com/en/content/7-nfc-compatibility#samsung
Mifare Classic是NXP的专有产品,因此无论三星使用NXP芯片(Galaxy Note 2 Note 8,Note 9)的设备,都支持Mifare classic。
由于它需要更改硬件,因此您无法在Note 5上执行此操作。

 类似资料:
  • 目前,我们正在为Android开发NFC应用程序。 我们的经验 > 使用恩智浦PN5xx芯片开发POS NFC控制系统,用于控制Mifare Classic(1K)和CEPAS标准 为Galaxy Nexus中的MiFareClassic和Ultralight C开发了Android NFC控制系统(使用NXP NFC芯片组) 在Nexus 4中为Ultralight C开发Android NFC

  • 我正在尝试使用NFC读卡器库读取Mifare超轻型卡的内容。 我对NFC完全陌生,我正在使用这个github存储库开始。 此存储库中的代码允许检测检测到哪种类型的卡(Mifare,Mifare超轻量级......)并读取卡的UID。我添加了以下代码以读取Mifare超轻型卡的内容: 我有一张卡片,上面写着“Hello world”,当我读到它时,上面的代码会打印以下字节: 所以我从我的卡片上读了一

  • 我对Android的NFC很陌生。我需要大量Java代码示例或好的教程,以了解如何使用Nexus 5读取Mifare Ultralight 16位UID 我只知道如何从这里读取Mifare classic卡的标签UID,获得MifareClassic的7位数UID,但没有Mifare Ultralight的示例。 这是获取Mifare Classic UID的另一个示例。Mifare Ultral

  • 我正在使用NFC读取Mifare Classic 1K卡。 该代码适用于所有Android5.0及以下版本的Android设备,但当我在Android5.1设备上测试代码时,它不起作用。 我的代码, 当我在Android5.1中扫描卡片时,返回,否则在5.1以下的版本中,它可以正常工作。

  • 我编写了一些代码,用于在Android上验证和读取Mifare Classic卡。它在第一代Nexus 7(2012年)和三星Galaxy Nexus i9250上都能完美地工作。然而,它在三星S3 mini上失败了。设备将卡正确检测为MifareClassic并且我可以使用对象的方法连接到标记,但它无法使用两种可用方法或中的任何一种进行身份验证。然而,使用相同的代码,如果使用上面提到的任何其他设

  • 更新:从本文NFC论坛类型标签中,您可以发现Mifare Ultralight与NDEF兼容。Android设备可以轻松读取这种类型的标签。