使用NDEF文本从NFC标签读取

时间:2013-06-18 14:23:17

标签: c# windows-phone-8 windows-phone nfc

我正在尝试使用以下代码从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

的值也是如此

我应该如何阅读标签中的数据?

1 个答案:

答案 0 :(得分:2)

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

由于解码NDEF消息并非易事,我建议使用一个库,例如NDEF Library for Proximity APIs (NFC).

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