2012-05-02 18 views
0

から値を取得私はNXPのアプリケーションで書かれているいくつかのタグ(のMifareクラシック)NFCアンドロイド:NdefMessage

いじりだtagwriterタグに平文でメッセージ。

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

** 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"); 
    } 

は私がどここの時点から1に行くことを知らない、誰かが正しい方向に私を指すことができますか?

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

答えて

1

最初のメッセージの最初のレコードのための簡単な例:あなたはタイプを知っているとき

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

は、あなたがvalueバイトを解釈することができるかもしれません。

-1

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

私はAndroid上でNFC(NDEF)を使い始めるためのEclipse pluginを書かれている、読み込まれ、上記NdefMessageのような様々なNDEFレコードを書き込むことができる、nfctoolsに基づいている - ので、あなたが代わりにバイト配列のPOJOを表示されます - )

NDEF Tools for Androidもお試しください。

+0

この質問は、ポスターが既にメッセージを書いていることを示しています。ポスターは、タグからのメッセージの読み取りと解析に関心があります。 –

+0

私はポスターについてのその解釈を共有しませんが、たとえ私が言及しているツールでも、両方のNDEFメッセージを読み書きし、バイトレベルのレコードを作成し、レコードをPOJOに解析します。あなたの現在の答えがあなたができる最高のものなら、それらのリンクをチェックしてください。 – ThomasRS

+0

あなたのリンクにAndroidコードが間違っていないようにしてください。 http://code.google.com/p/nfc-eclipse-plugin/source/browse/Android%20NFC/src/com/antares/nfc/client/NfcReaderActivity.java詳細のレベルは表示されません私の答えが提供する(これは限られている、私は同意する)。残念なことに、不適切な形式のNDEFメッセージを書き込んだ多くのアプリを見てきました。あなたのリンクが指し示すプロジェクトがこの状況を改善するのを助けることができれば(あるいは将来的にもできるように)、私はそれが非常に価値があると思うので、私はそれを見たいと思うでしょう。 –