我正在创建一个NFC应用程序。我是Android的菜鸟,这是我的第二个应用程序。我想知道是否有人知道如何创建消除NFC标签的消息。在TagWriter等应用程序中可以看到此功能。
答案 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()