android - 我如何读取 Nexus s 的 mifare classic 1k 卡

标签 android nfc nexus-s

我正在使用 NFC Android 编程,我想读取 Mifare Classic 卡。有人知道如何从这种卡上读取扇区吗?

身份验证方法返回 true,这意味着身份验证已完成。身份验证后,扇区应准备好进行任何 IO 操作,但每当我使用 readBlock() 方法或 transceive() 方法时,我都会收到 IOException("transceive failed") 异常。我找不到任何使用 Mifare Classic 的示例,所以我想知道是否可以使用此 API 读取 Mifare Classic。

我的代码是这样的 boolean success = m1tag.authenticateSectorWithKeyB(0,MifareClassic。KEY_DEFAULT) int index = m1tag.sectorToBlock(0) byte[] content = m1tag.readBlock(索引)

成功是真的,但是当我从卡中读取内容时,抛出 IOException("transceive failed")

最佳答案

在使用authenticateSectorWithKeyB() 后,您将无法readBlock()writeBlock()。 如果它是具有默认访问位的新标签,则将阻止对该标签的访问。如果访问条件已更改,则 readBlock()writeBlock() 将抛出异常。您将必须使用 KeyA 身份验证来读取标签。

关于android - 我如何读取 Nexus s 的 mifare classic 1k 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659106/

相关文章:

android - 如何限制 React native 应用程序卸载

android - 如何在 Android 上检查 Open Mobile API 的版本?

android - NFC标签检测

android - PopupWindow 在某些设备中位于状态栏上方

安卓 : onRetainNonConfigurationInstance is not called on Screen orientation change

android - java.lang.NoClassDefFoundError:无法解决以下问题:Lcom/mapbox/android/telemetry/MapboxTelemetry;

android - 如何在 Android 的垂直 ViewPager 中删除淡入淡出的动画

android: Activity 使用 OnTouchListener() 启动 2 次

android - 在 oncreate 方法中获取 NFC 唯一 ID

java - "New Tag Collected"而不是读取应用程序的标签 - NFC android