我正在尝试在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

我似乎无法理解这里发生的事情以及如何获取消息的实际内容。
我怎么做?

最佳答案

NDefMessage不是字符串,而是对象。通过合并它,您只需添加其“ toString”方法的输出。相反,您需要查看NdefMessage内的NdefRecords并从那里的有效负载字段中提取数据。

07-24 09:26