我正在使用NFC Android编程,我想读Mifare经典卡。有人知道如何从这张卡片上读出扇区吗?
authentication方法返回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(index)
成功是真的,但是当我从卡中读取内容时,抛出ioexception(“transceive failed”)
最佳答案
使用readBlock()
后,您将无法writeBlock()
或authenticateSectorWithKeyB()
。
如果是具有默认访问位的新标记,则将阻止对该标记的访问。如果访问条件已更改,则readBlock()
和writeBlock()
将引发异常。您必须使用keya身份验证执行标记的读取。
关于android - 我如何阅读Nexus S的mifare classic 1k卡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5659106/