3

NFC Android プログラミングに取り組んでおり、Mifare Classic カードを読みたいと思っています。そのようなカードからセクターを読み取る方法を知っている人はいますか?

認証メソッドは、認証が完了したことを意味する 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") がスローされます

4

2 に答える 2

1

readBlock()を使用したりwriteBlock()、使用したりできなくなりますauthenticateSectorWithKeyB()。デフォルトのアクセス ビットを持つ新しいタグの場合、タグへのアクセスはブロックされます。アクセス条件が変更されている場合はreadBlock()writeBlock()例外がスローされます。KeyA 認証を使用してタグの読み取りを実行する必要があります。

于 2012-02-17T15:06:47.563 に答える
0

mifareカードのBlockはkeyB認証では読めません。Mifare カードのブロックを読み取るには、鍵 A で aunthenticae を使用する必要があります。つまり、authenticateSectorWithKeyA()の代わりに使用しauthenticateSectorWithKeyB()ます。

于 2012-08-30T08:40:03.397 に答える