Nexus S可以写入NFC标签。你怎么阻止Nexus S覆盖你的标签?
例如。如果您在发布视频的传单上有NFC标签,那么拥有Nexus S的人是否可以覆盖它并将其替换为指向其网站的链接?
初学者,只是想试试NFC,谢谢!
答案 0 :(得分:7)
是的,许多标签类型允许写保护,一些全局,以及标签内的内存部分允许其他更复杂的标记。
当您在Android NFC应用中检测到您的代码时,您可以获取Tag对象并对该代码进行读写,包括防止其进一步写入。
Android开发者网站上的NFC类的开发者文档中对此进行了描述。
例如,如果您在更高级别工作并阅读/撰写Ndef
条消息:
设置意图过滤器(在代码或清单中),以便检测Ndef
或NDefFormatable
标记。您可以从传递给您的Tag
获取Intent
个对象(onCreate()
或onNewIntent()
)。
Tag tag = intent.getParcelableExtra( NfcAdapter.EXTRA_TAG );
从Tag
尝试从意图中获取Ndef
标记对象。
如果成功从标记中获取Ndef
对象,则检查它是否可写,检查它是否有足够的空间,写入它然后使用makeReadOnly()
Ndef
} ....
如果获取Ndef
对象失败(例外),那么您需要先格式化标记....所以......
从检测到的Tag
获取NdefFormattable
个对象并使用formatReadOnly(NdefMessage firstMessage)
向其发送消息并对其进行保护,或者只是对其进行格式化,然后继续使用代码获取Ndef
...
如果您无法获得NdefFormattable
个对象,则会出现严重错误,因为这是您在过滤器中请求的内容。如果格式化为只读格式,则格式化可能会失败。
开发人员文档并不是太糟糕,一旦您开始通过“标记技术”设置IntentFilter
(包括NdefFormatable
和Ndef
),然后从中获取这些对象base标签用于执行不同的操作。
答案 1 :(得分:2)
是的,你可以写保护(大多数)标签,这会阻止他人覆盖你的内容。如果你只想写一个标签,一个好的Android应用程序是NXP tagwriter,它有各种编码选项和写保护选项。
如果你想让它,只有你控制你的标签的内容,试试NFCLabels tag manager app。您的代码内容存储在“云端”中,您可以通过自己的帐户访问代码。因此,您可以写保护标签,以便Joe Schmoe无法提升您的内容,但您仍然可以根据需要自由更新标签。它还为您提供了一些基本的参与分析。他们的YouTube视频显示了它的工作原理(见上面的链接。)
答案 2 :(得分:1)
某些NFC标签可以配置为只读。 有些已经与您的数据一起购买,并设置为只读。 http://www.radio-electronics.com/info/wireless/nfc/near-field-communications-tags-types.php
答案 3 :(得分:1)
几乎所有nfc标签都可以通过锁定位保护,您可以使用NXP tagwriter,tasklauncher等应用程序编写NFC标签,确保选择 readonly 选项进行编码。除非注意标签是只读的,否则不能再次重写。有关应用或nfc标记,请访问geenfc网站了解详情。