繁体   English   中英

如何使用NFC Android读取MifareClassic卡?

[英]How can I read MifareClassic card with NFC Android?

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

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

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

亲切的问候。

肯定可以使用此API阅读Mifare Classic-我们有执行此操作的应用程序。

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

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

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

如果仍然无法使用,您可以发布一些代码吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM