1

mifare classic card 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()と、IOExceptionがトリガーされ、トランシーバーが失敗しました。

私が間違っていることは何ですか?

4

2 に答える 2

0

あなたのコード例では、セクター 1を認証していますが、セクター 0からブロックを読み取ろうとしています。セクター番号とブロック番号は 0 から始まることに注意してください。blockToSector(int block)にも興味があるかもしれません。

于 2013-07-13T13:00:50.123 に答える