9

Nexus S 可以写入 NFC 标签。你如何阻止任何拥有 Nexus S 的人覆盖你的标签?

例如。如果您在启动视频的传单上有一个 NFC 标签,拥有 Nexus S 的人可以覆盖它并用指向他的网站的链接替换它吗?

这里是初学者,只是想掌握 NFC,谢谢!

4

4 回答 4

7

是的,许多标签类型允许写保护,一些是全局的,而其他更复杂的是标签内的内存部分。

当您在 Android NFC 应用程序中检测到您的标签时,您可以获取一个标签对象并读取和写入标签,包括保护它免于进一步写入。

这在 Android 开发者网站上的 NFC 类的开发者文档中都有描述。

例如,如果您在更高级别工作并读/写Ndef消息:

  1. 设置一个意图过滤器(在代码或清单中),以便您检测NdefNDefFormatable标记。您可以TagIntent传递给您的对象中获取一个对象(在onCreate()或中onNewIntent())。

    Tag tag = intent.getParcelableExtra( NfcAdapter.EXTRA_TAG );
    
  2. 从您Tag尝试从意图中获取Ndef标记对象。

  3. 如果成功从标签中获取Ndef对象,则检查它是否可写,检查它是否有足够的空间,写入它然后使用makeReadOnly()of Ndef...。

  4. 如果获取Ndef对象失败(异常),那么您将需要首先格式化标签....所以...NdefFormattable从检测到的对象中获取一个对象Tag并向其写入消息并保护它,使用formatReadOnly(NdefMessage firstMessage), 或者只是格式化它然后继续代码以获取Ndef...

  5. 如果你不能得到一个NdefFormattable对象,那么就出现了严重错误,因为那是你在过滤器中要求的。如果它已经是只读的,格式化可能会失败。

开发人员文档还不错,一旦您开始设置IntentFilter“标签技术”(包括NdefFormatableand Ndef),然后从基本标签中获取这些对象以执行不同的操作。

于 2011-05-09T08:53:32.527 回答
2

是的,您可以写保护(大多数)标签,这会阻止其他人覆盖您的内容。如果你只是想写一个标签,一个好的安卓应用是NXP tagwriter,它有多种编码选项和写保护选项。

如果您想做到只有您可以控制标签的内容,请尝试使用 NFCLabels 标签管理器应用程序。您的标签内容存储在“云”中,您可以通过您的帐户访问您的标签。因此,您可以对标签进行写保护,这样 Joe Schmoe 就无法爆破您的内容,但您仍然可以根据需要自由更新标签。它还为您提供了一些基本的参与度分析。他们的 youtube 视频展示了它是如何工作的(见上面的链接。)

于 2012-03-16T18:48:54.850 回答
1

几乎所有的 nfc 标签都可以通过锁定位进行保护,您可以使用 NXP tagwriter、tasklauncher 等应用程序编写 NFC 标签,确保您选择了只读选项进行编码。注意如果标签是只读的,则不能再次重写。对于应用程序或 nfc 标签,请访问geenfc网站了解详细信息。

于 2013-11-27T06:54:54.540 回答
1

一些 NFC 标签可以配置为只读。有些购买时已经包含您的数据,并设置为只读。 http://www.radio-electronics.com/info/wireless/nfc/near-field-communications-tags-types.php

于 2011-05-04T23:11:10.040 回答