2011-04-14 130 views
5

Nexus S可以写入NFC标签。你如何阻止任何人使用Nexus S覆盖你的标签?可以保护NFC标签不被覆盖?

例如。如果您的传单上有NFC标签,可以启动视频,那么带有Nexus S的家伙是否可以覆盖它并将其替换为指向其网站的链接?

初学者在这里,只是试图获得NFC的处理,谢谢!

回答

1

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

+0

如果我只将NFC标签设为只读,然后有人读取该标签并制作了重复标签,那么该怎么办?我们如何确保这些类型的标签。因此,没有人可以制作重复标签。 – Innovation 2015-04-02 10:51:37

+1

我不认为有可能确保没有其他人重复您的数据。例如,如果您有一个URL作为您的标记的内容,并且其他人读取了这些数据。没有什么能阻止他们用相同的数据编码新的标签。 – 2015-04-08 16:26:52

+0

如果我想存储编码的授权,该怎么办? – Innovation 2015-04-10 06:57:30

7

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

当你在你的Android NFC应用中检测到你的标签时,你可以得到一个Tag对象并读写标签,包括防止它进一步写入。

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

例如,如果要在较高的水平工作和读/写Ndef消息:

  1. 设置意图过滤器(以代码或清单),这样你检测NdefNDefFormatable标签。您可以从传递给您的Intent中获取Tag对象(在onCreate()onNewIntent()中)。

    Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); 
    
  2. 从你Tag尝试从意图的Ndef标签对象。

  3. 如果成功地从标签得到一个Ndef对象,然后检查它是可写的,检查它有足够的空间,写它,然后使用makeReadOnly()Ndef的....

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

  5. 如果您无法获得NdefFormattable对象,则会出现严重错误,因为这是您在过滤器中请求的内容。格式化可能会失败,如果它已经是只读的。

的开发者文档是不是太糟糕,一旦你得到你的脑袋周围设置IntentFilter通过“标签技术”(包括NdefFormatableNdef),然后从底部标签得到这些对象执行不同的操作。

+0

够好,可以选择答案吗? :-) – 2015-04-04 12:29:24

2

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

如果你想这样做只有你可以控制你的标签的内容,请尝试NFCLabels tag manager应用程序。您的标签内容存储在“云端”中,并通过您的帐户访问您的标签。因此,您可以对标签进行书写保护,以便Joe Schmoe无法爆炸您的内容,但您仍然可以根据需要自由更新标签。它还为您提供一些基本的参与分析。

0

几乎所有的nfc标签都可以被锁定位保护,您可以使用NXP标签打印机,tasklauncher等应用程序编写NFC标签,请确保您选择了只读编码选项。除了注意标签是只读的,它不能再被重写。有关应用程序或nfc标签,请访问geenfc网站了解详细信息。