【问题标题】:mifareClassic.authenticateSectorWithKeyA() - android.nfc.TagLostException: Tag was lostmifareClassic.authenticateSectorWithKeyA() - android.nfc.TagLostException:标签丢失
【发布时间】:2017-11-17 21:31:13
【问题描述】:

我遇到了这个异常:

android.nfc.TagLostException:标签丢失。

在 android.nfc.TransceiveResult.getResponseOrThrow(TransceiveResult.java:48)

在 android.nfc.tech.BasicTagTechnology.transceive(BasicTagTechnology.java:151)

在 android.nfc.tech.MifareClassic.authenticate(MifareClassic.java:395)

在 android.nfc.tech.MifareClassic.authenticateSectorWithKeyA(MifareClassic.java:339)

在 com.example.MyTag.a(MyTag.java:870)

在 com.example.MyTag.fastRead(MyTag.java:368)

这是我的代码:

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
MifareClassic mifareClassic = MifareClassic.get(tag);
if (MY_TAG_TIMEOUT_MILLIS != -1) mifareClassic.setTimeout(MY_TAG_TIMEOUT_MILLIS); // have tried -1, 200, 500, 1000, 2000, 3000, 4000 and 5000
if (!mifareClassic.isConnected()) mifareClassic.connect();
mifareClassic.authenticateSectorWithKeyA(15, MifareClassic.KEY_DEFAULT); // This line is causing the exception

我们遇到了标签问题,我认为这些标签可能不是真正的 NXP。

尝试了this answer 的建议,但没有帮助。

看过MifareClassic.java source code,但这并没有给我任何线索。

知道根本问题是什么以及如何解决吗?

【问题讨论】:

  • 您确定该卡是 MIFARE Classic 1K 还是 4K(即不是 Mini),该扇区可以通过密钥 A 访问,并且密钥 A 等于 FF FF FF FF FF FF (KEY_DEFAULT)?
  • 绝对是 1K,每个扇区都有 KEY_DEFAULT 密钥,但我不确定芯片的真实性,因为我正在测试的芯片(我被告知来自同一批次)在 NXP 的 TagInfo 应用程序中显示为 Unknown Manufacturer / Cloned IC

标签: android nfc mifare


【解决方案1】:

在我的情况下,出现问题是因为您需要让卡在范围内停留几秒钟。如果你刚读完卡就拿走,你会得到这个例外。

【讨论】:

    猜你喜欢
    • 2013-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    相关资源
    最近更新 更多