1

Samsung Galaxy Nexus S で NFC タグを読み取ろうとしています。

    @Override
protected void onResume() {
    super.onResume();
    String nachricht = "";
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {
        Parcelable[] rawMsgs = getIntent()
                .getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);
        if (rawMsgs != null) {
            NdefMessage[] msgs = new NdefMessage[rawMsgs.length];
            for (int i = 0; i < rawMsgs.length; i++) {
                msgs[i] = (NdefMessage) rawMsgs[i];
                nachricht = nachricht + " " + msgs;
            }

            Log.e("WriteTagApp", nachricht );
        }
    }

}

Log.e("WriteTagApp", nachricht ); を使用 私のアプリは、タグのメッセージをデバッガーに書き込みます。次のようになります: [Landroid.nfc.NdefMessage;@4184ce18

ここで何が起こっているのか、メッセージの実際の内容を取得する方法を理解できないようです。それ、どうやったら出来るの?

4

1 に答える 1

1

NDefMessageは文字列ではなく、オブジェクトです。これを連結することで、「toString」メソッドの出力を追加するだけです。代わりに、NdefMessage内のNdefRecordsを調べて、そこにあるペイロードフィールドからデータをプルする必要があります。

于 2012-05-02T18:15:58.357 に答える