1

我正在尝试使用以下代码从 NFC 标签中读取数据:

    private void SubscribeToNFCMessage()
    {
        device.SubscribeForMessage("NDEF", (s, e) =>
            {
                DataReader reader = DataReader.FromBuffer(e.Data);
                string str = reader.ReadString(reader.UnconsumedBufferLength);
            });
    }

当用卡点击手机时,会执行 MessageReceivedHandler。但是,它会System.ArgumentOutOfRangeException exception在调用时抛出reader.ReadString(reader.UnconsumedBufferLength);

e.Data.Length值为 12,因此值为reader.UnconsumedBufferLength

我应该如何从标签中读取数据?

4

1 回答 1

2

一个 NDEF 消息由几个部分组成。它的某些部分可能包含一个字符串。但它不能直接转换成字符串。所以错误信息不足为奇。

由于对 NDEF 消息进行解码并非易事,因此我建议为它使用一个库,例如NDEF Library for Proximity API (NFC)。.

如何使用该库的示例可以直接在其主页上找到。

于 2013-06-19T08:32:29.280 回答