我正在尝试使用 mifare 经典卡 1k 和 android nfc(在 Galaxy nexus 上)读取块。
private final int mMaxSize = 64;
mClassic.connect();
boolean success = mClassic.authenticateSectorWithKeyA(1, MifareClassic.KEY_DEFAULT );
final ByteArrayBuffer b = new ByteArrayBuffer(mMaxSize);
if (success)
{
b.append(mClassic.readBlock(0), 0, 16);
b.append(mClassic.readBlock(1), 0, 16);
b.append(mClassic.readBlock(2), 0, 16);
b.append(mClassic.readBlock(3), 0, 16);
}
如果我想读取扇区 0,那没关系。但是,如果我想读取不同的扇区(例如扇区 1),则成功具有真正的价值,但是当应用程序转到 时readBlock()
,会触发 anIOException
并且我已返回 tranceiver failed。
我做错了什么?