将NFC标签限制为仅限应用程序(Android)

时间:2012-11-07 17:34:58

标签: android nfc

我在Android编程方面相当新,并计划使用NFC在优惠券系统上工作。我已阅读过关于通过Android编程阅读和编写NFC标签的知识,并了解了意图过滤器。

我的问题是,是否可以只编写一个标签,以便它只运行我的应用程序,而不是任何其他应用程序。话虽如此,是否有可能使其不被任何其他应用程序读取?我对标签的类型非常模糊,希望有人能澄清这个问题。

3 个答案:

答案 0 :(得分:2)

您可以使用特定的mime类型甚至标记类型标记标记,并以使应用程序获取这些标记的方式编写intent过滤器。但是其他应用程序也可以复制您的意图过滤器并获得标签通知。

你可以尝试加密标签上的数据,这样只有你的应用程序可以读取它,但即使这样也远非完美无缺。有人可以轻松解码你的APK密钥。您也可以encrypt your APK,但似乎只支持Jelly Bean及以上版本。

这完全取决于您愿意隐藏标签内容的时间和精力,而不是您的目标受众愿意投入多少时间和精力来破解它。

答案 1 :(得分:0)

当您在代码上添加NDEF消息时(请参阅Ndef),您可以在Android Application Record的末尾添加NdefMessage。这将确保只启动您的应用。如果设备上未安装该应用,则会将用户重定向到Play商店应用以进行安装(如果该应用可用)。

答案 2 :(得分:0)

我建议你使用

  1. 如果您想支持旧手机,请Android Application record(+ Mime record
  2. 只有您理解的Unknown record,使用私钥进行加密。
  3. 您可能也有兴趣看到Signature record这样的事情。