AndroidでNFCを使用して学習を開始しました。 NDEF形式で簡単に読み書きできます。MEFARE DESFire EV1をNFC Forum Type 4タグとして設定する
私の問題は、MIFARE DESFire EV1であり、私はいくつかの工場のカードを持っていると私は、彼らがNFCフォーラムのタイプ4タグ仕様に準拠していないと、結果的に、中に読み取りまたは書き込むことが受け入れないことを理解しますNDEF形式(工場出荷時の設定)。
android.nfc.tech.NfcA
またはandroid.nfc.tech.IsoDep
でタグにアクセスできます。
これまでのところ、IsoDep.transceive()
メソッドを使用して、NFC Forum Type 4に準拠するタグを作成するためのコマンドを渡す必要があることを理解しています。
しかし、私は多くの問題を抱えています。私はTagWriterを使用しており、それは完全にサービスを行います。 NDEFデータセットを使用するたびに、カードにNFC Forum Type 4タグ、したがってNDEFタグを作成するルーチンが自動的に実行されます。
しかし、この手順を自分で行うための簡単な例は見つかりませんでした。仕様書NFCForum-TS-Type-Tag_2.0を読んだ後でさえ、私はまだ非常に迷っています。
TagWriterアプリケーションが実行するプロセスを実行する具体的な例はありますか?
- は
- (ここでOK)
NfcA
/IsoDep
を認識カードはNFCフォーラムのタイプ4タグの仕様に準拠してください - スタート
android.nfc.tech.Ndef
- を読み、NDEF
バイトオーダーにコメントできますか?ドキュメントAN11004によると、「NDEF仕様データはNetwork Byte-Order(ビッグエンディアン)で表されていますが、APDUコマンドはLSBの最初の表記を使用しています。 APDUコマンドを送信するとき、上記のデータ(項目7)を逆の順序で発行すべきではありませんか? NXPアプリ(Android)が「タイプ4タグバージョン1」をDesfireアプリケーションの見出しの下に認識しているため、アプリケーションを正しくセットアップできたとはかなり確信していますが、NDEFタブに移動しても、表示されています。私の問題がCCかNDEFファイルかどうかは分かりません。ありがとう。 – Paul
@Paul興味のあるフィールドについてもう少し具体的にすることはできますか?どのAPDUにコマンドがありますか?あなたはMIFARE DESFireコマンドを参照していますか?これらはLSBの最初の記法を使用します(しかし、バイナリデータではなく整数フィールドにのみ影響します)。 CCのフィールドの順序は正しいです(上の答えでCCファイルに書き込む必要があります)。 –