问题[1]我读到如果你想在Android下使用它们,NFC标签不必是NDEF格式。我想在.Net的Win 8.1下执行此操作。我的情况是这样的:
我有一张RFID卡Mifare Classic 1K,里面有一个ID。 (由制造商记录)此ID由我们的考勤系统通过常规RFID阅读器读取(例如Gigatek的PROMAG MFR120)我们不会向卡片写任何内容,我们只需要阅读ID。但我们也需要通过NFC阅读器阅读它,这就是问题所在。
我们的卡Mifare Classic 1K未采用NDEF格式,因此Broadcom对NFC读卡器不可见。 NFC读卡器只知道卡已到达/离开(.NET事件DeviceArrived,DeviceDeparted被触发)但没有消息到达,因为我们的NFC读卡器无法与当前状态的Mifare卡通信。至少Broadcom的读者不能。恩智浦阅读器应兼容,但我没有这样的设备。我是对的吗?
因此,我想在较低级别手动读取卡,而不是通过.NET类Proximity读取,这可能仅适用于NDEF格式化卡。我希望如果我手动读取卡片,我可以读取二进制,字节或字符串格式的所有数据,并以我的方式“解析”它。
这可能在.NET中还是我必须将Mifare卡重新格式化为NDEF?我担心它会停止与现有读者合作。
提前感谢您的评论和意见......
PS:我的设备是集成在平板电脑中的联想ThinkPad 10 + Win 8.1 + Broadcom NFC阅读器。
[1]关于Android下NDEF的问题: Do NFC tags have to be NDEF formated?
答案 0 :(得分:1)
要理解在.net中使用感应API读取标签的一件事......制造商UID根本不可用。无论是Broadcom,还是NXP,NDEF,您都无法访问标签UID。 为了解决这个问题,我在发行卡片时最终将标签UID添加到NDEF记录中,以便能够使用Windows 8.x和Windows Phone中的proximity api访问它。
此外,联想ThinkPad等设备上的内部阅读器只能通过邻近api访问,并且没有低级nfc任务的设施(我很清楚)。
如果您使用NDEF消息对代码进行格式化,我认为您的当前读者不会遇到问题,因为您只是阅读制造商的UID,这不会因添加Ndef消息给Mifare 1K或任何其他标签。
您认为Broadcom芯片组不会读取Mifare 1K的内容是正确的。你仍然可以获得UID。
希望这些信息有所帮助。