首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为可变长度有效负载格式化NDEF消息?

如何为可变长度有效负载格式化NDEF消息?
EN

Stack Overflow用户
提问于 2016-12-01 22:28:21
回答 2查看 914关注 0票数 0

在我的应用程序中,我向NFC芯片写入了一些测量值。由于测量的数量不同,我无法定义NDEF消息的确切长度,并且实现一个在NFC读取之前计算长度并写入有效负载长度的函数对应用程序来说是不实际的。

我想要做的是将NDEF消息的大小设置为最大可用内存,并简单地写入空闲空间。然而,当使用恩智浦NFC扫描仪时,我得到一个错误,指出我的内存没有NDEF格式化。有人能告诉我我哪里做错了吗?

我目前的理解是: 0x03定义ndef格式,0xFF标志3字节长度格式,0x373是可用长度,0xC5表示单个块的ME和MB,然后0x00表示类型长度和前两个有效载荷字节,最后- 0x03和0x6D定义0x36D有效载荷长度。

初始化后的内存(开始和结束)如下所示:

EN

回答 2

Stack Overflow用户

发布于 2016-12-10 11:28:53

在编写消息时,您应该知道有效负载的大小。可以手动编写NDEF代码,但您需要在消息中包含每个记录的TNF、类型和有效负载。

我建议使用NdefRecordNdefMessage对有效负载进行编码并创建消息。如果以后您有不同大小的不同有效负载,请创建一条新消息并将其写入标记。当您将消息写入标记时,它会覆盖前一条消息。

票数 0
EN

Stack Overflow用户

发布于 2016-12-16 19:30:51

使用Android Ndef.getMaxSize()方法确定可用的最大大小。然而,这需要实际写入虚拟数据。

一种更理想的方法是只写NDEF头,然后随着更多数据的到来而修改它。如果是这样的话,您应该注意到NDEF消息本身在实际位于标记上时被包装在一个简单的容器样式格式中。所以你必须多次更新长度。

有关示例NFCTools,请参阅

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40913162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档