我打算使用Windows邻近设备API编写二进制数据。
我可以发现NFC标签,我可以从标签中读取NDEF信息,写在Android手机上。
但是,当我试图设置一个PublishBinaryMessage时,当我使用这个messageTypes:"NDEF“、"WriteableTag”或除"Windows.someSubtype"之外的https://msdn.microsoft.com/en-us/library/windows/apps/hh701129.aspx 中描述的任何其他内容时,总是会收到ArgumentException (值不属于预期范围)。但在这种情况下,我的标签没有被扣动。
我得到了带有"NDEF.someSubtype“的NDEF.someSubtype,但是消息是"Message”参数是incorrect.This ProximityDevice不支持在messageType: NDEF.someSubtype中传递的内容。
守则:
//Does not work - Argument Exception - "Value does not fall within the expected range"
messageID = proximityDevice.PublishBinaryMessage("NDEF", Encoding.UTF8.GetBytes("lorem ipsum").AsBuffer(), MessageTransmittedHandler);
//Does not work - Argument Exception - "The parameter is incorrect"
messageID = proximityDevice.PublishBinaryMessage("NDEF.something", Encoding.UTF8.GetBytes("lorem ipsum").AsBuffer(), MessageTransmittedHandler);
//No Exception, but never writes on device.
messageID = proximityDevice.PublishBinaryMessage("Windows.something", Encoding.UTF8.GetBytes("lorem ipsum").AsBuffer(), MessageTransmittedHandler);发布于 2016-07-09 11:49:31
输入缓冲区错误。对于NDEF消息,API文档说:
消息内容是正确格式化的NDEF记录。
因此,使用Andijac (https://github.com/andijakl/ndef-nfc)的ndef-nfc库,可以正确地发布二进制消息。
https://stackoverflow.com/questions/38274866
复制相似问题