使用提供的数据在NFC标签中写入数据

时间:2015-12-16 05:11:48

标签: android tags nfc ndef

有人可以告诉我如何将以下信息写入NFC标签吗?

是否有以这种格式编写的工具或应用程序?

didSelectRowAtIndexPath

1 个答案:

答案 0 :(得分:0)

首先:Stackoverflow是关于编程的,而不是获得工具和现有应用程序推荐的正确位置。

尽管如此,我认为这个问题的某些部分对Android开发人员也很有价值。

您在问题中显示的是NDEF消息。此NDEF消息由MIME类型记录和外部类型记录组成。

MIME类型记录包含MIME类型" co / info" (atucally是一个格式错误的MIME类型,因为它不遵循相应的RFC!),数据值为" bd:// aa:bb:cc:dd:ee:ff"。在Android应用中,您可以使用NdefRecord.createMime()方法生成此记录:

NdefRecord r1 = NdefRecord.createMime("co/info",
                                      "bd://aa:bb:cc:dd:ee:ff".getBytes("US-ASCII"));

NFC论坛外部类型记录是应用程序包" com.your.app.package"的Android应用程序记录(类型名称" android.com:pkg")。您可以使用NdefRecord.createApplicationRecord()方法生成该记录:

NdefRecord r2 = NdefRecord.createApplicationRecord("com.your.app.package");

然后,您可以将这两个记录组合成NDEF消息:

NdefMessage msg = new NdefMessage(r1, r2);

最后,您可以将该消息写入NFC标签(假设您已经从NFC标签发现意图中获取了标签句柄,并且该标签已针对NDEF进行了格式化):

Ndef ndef = Ndef.get(tag);
ndef.connect();
ndef.writeNdefMessage(msg);
ndef.close();