如何使用NFC Android阅读MifareClassic卡?

0 android rfid nfc mifare

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

我的问题是transceive()方法.我不知道如何使用它来读取扇区,例如读取扇区1.

身份验证方法返回true,表示身份验证已完成.在身份验证之后,扇区应该为任何IO操作做好准备,但每当我使用readBlock()方法或者transmitive()方法时,我都会遇到IOException异常("收发失败").我找不到任何使用Mifare Classic的例子,所以我想知道是否可以用这个API阅读Mifare Classic.

亲切的问候.

小智 8

我们可以通过这个API阅读Mifare Classic - 我们有应用程序可以做到这一点.

transceive()如果您只是想读卡,则不需要直接使用 - 只需使用readBlock()便捷方法即可.

一个常见的缺陷是认证是在扇区级别完成的,而读取是在级别上完成的.在Mifare Classic上,一个部门由几个街区组成.不幸的是,即使在同一张卡上,每个扇区的块数也可能不同.

使用MifareClassic.sectorToBlock(sector)检索您为验证该部门的第一个起始块.然后,您可以阅读该扇区的所有块.可以使用检索扇区中的块数MifareClassic.getBlockCountInSector(sector).

如果它仍然不起作用,你可以发布一些代码吗?