1

私はいくつかのタグをいじっています(Mifareクラシック)

nxpアプリケーションのタグライターを使用して、タグにプレーンテキストでメッセージを書き込みました。

次のコードは私がこれまでに持っているものです:

 ** Called when a new nfc interaction/intent is fired */
public void onNewIntent(Intent intent) {
    NdefMessage[] msgs = null;
    if(intent.equals(NfcAdapter.ACTION_NDEF_DISCOVERED)){
        Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
        if(rawMsgs!=null){
            msgs = new NdefMessage[rawMsgs.length];
            for(int i=0;i<rawMsgs.length;i++){
                msgs[i] = (NdefMessage) rawMsgs[i];
            }
        }
    } else {
        Log.e(TAG, "Other intent then NDEF_DISCOVERED");
    }

この時点からどこに行けばいいのかわかりませんが、誰かが私を正しい方向に向けることができますか?

これらのメッセージ内の値を読みたいのですが、ndefmessageにndefrecordsが含まれていることはすでに知っていますが、どのレコードが必要なレコードであるかをどのように判断できますか?

4

2 に答える 2

2

最初のメッセージの最初のレコードの簡単な例:

NdefRecord[] recs = msgs[0].getRecords();
byte[] type = recs[0].getType();
byte[] value = recs[0].getPayload();

valueタイプがわかれば、バイトを解釈できる場合があります。

于 2012-05-02T21:20:53.830 に答える
-1

Androidの組み込みSDKは現在、NDEFメッセージとレコードの解析をほとんどサポートしていません。

AndroidでNFC(NDEF)を使い始めるためのEclipseプラグインを作成しました。これは、上記のNdefMessageのようなさまざまなNDEFレコードを読み書きできるnfctoolsに基づいています。したがって、バイト配列の代わりにPOJOが表示されます:-)

Android用のNDEFツールも試してみてください。

于 2012-05-02T12:27:11.377 に答える