如何创建擦除NFC标签的NDEF消息

时间:2013-11-22 05:34:52

标签: android nfc ndef

我正在创建一个NFC应用程序。我是Android的菜鸟,这是我的第二个应用程序。我想知道是否有人知道如何创建消除NFC标签的消息。在TagWriter等应用程序中可以看到此功能。

1 个答案:

答案 0 :(得分:2)

您想要达到什么目标? NDEF消息是存储在NFC标签上的数据包,因此“擦除”有点与“创建NDEF消息”相矛盾。但是,您可以做的是使用一个空的NDEF记录创建NDEF消息:

NdefMessage msg = new NdefMessage(new NdefRecord[] {
    new NdefRecord(NdefRecord.TNF_EMPTY, null, null, null)
});
ndefTag.writeNdefMessage(msg);

但请记住,将此消息写入标记会隐藏并部分覆盖标记上任何预先存在的NDEF消息,但它会擦除标记上的所有数据。例如,如果标签上预先存在的消息比新消息长,则旧消息数据的某些部分可能仍然存储在标签上。

因此,如果要覆盖标记上的所有数据,您可能需要创建一个包含可以存储在标记上的数据的虚拟记录(您可以使用{{1}确定NDEF消息的最大大小但是,您必须在创建记录时考虑头字节数)。写完该虚拟记录后,您可以再次写入空的NDEF消息,如上所述。

Ndef.getMaxSize()
相关问题