0

NFC タグを書き込む Android アプリケーションを作成しようとしています。その方法を確認するために、例をダウンロードしました。ただし、この例は機能しません。認証できないと言われます。これは、このタイプのカードに正しくないキーを使用していることを意味するだけです. 奇妙なことに、空のカードでは キーKEY_DEFAULTとキーでさえ機能しません。KEY_MIFARE_APPLICATION_DIRECTORYMifare は何らかの方法でキーを変更しましたか?

編集:これが私のコードです。

            /* Authenticate the MAD Sector, sector 1, with key A */
        succes = mClassic.authenticateSectorWithKeyA(
                1, key);
        if (succes) {
            /* Authentication succeeded */

            /*
             * This will read a 16-byte block in this sector
             * It is an I/O operation and will block until complete.
             * It must not be called from the main application thread.
             **/
            b.append(mClassic.readBlock(1), 0, 16);
            b.append(mClassic.readBlock(2), 0, 16);
            b.append(mClassic.readBlock(3), 0, 16);
            data = b.toByteArray();
        }
        /* Authentication failed */
        else
            sb.append("Authentication failed");
        mClassic.close();

    }

私はすでに次のキーで試しました:

MifareClassic.KEY_DEFAULT
MifareClassic.KEY_MIFARE_APPLICATION_DIRECTORY
00 00 00 00 00 00
ff ff ff ff ff ff

すべて無駄に..

4

2 に答える 2

2

私は Ubiqconn タブレット PC に詳しくありません。最初に行うことは、デバイスの NFC 実装が実際に MIFARE をサポートしているかどうかを確認することです。あなたの主な活動のonCreate()追加で:

public void onCreate(Bundle bundle) {
  ...
  if (!getPackageManager().hasSystemFeature("com.nxp.mifare")) {
    Toast.makeText(this, "No MIFARE support!", Toast.LENGTH_LONG).show();
  }
}
于 2012-09-24T14:53:22.733 に答える
1

アプリにバグがあるか、キーがカスタマイズされています。NFC TagInfoなどのアプリを使用して、デフォルトのキーでカードを読み書きできるかどうかを確認します。それがうまくいかない場合は、カードを販売した人に連絡して、鍵は何かを尋ねてください。

于 2012-09-24T09:11:36.940 に答える