android NFC中TAG_DISCOVERED,NDEF_DISCOVERED和TECH_DISCOVERED有什么区别

What the different between TAG_DISCOVERED, NDEF_DISCOVERED and TECH_DISCOVERED in android NFC

提问人:SenjaKids 提问时间:11/1/2023 最后编辑:SenjaKids 更新时间:11/1/2023 访问量:18

问:

我需要知道 android NFC 中 TAG_DISCOVERED、NDEF_DISCOVERED 和 TECH_DISCOVERED 之间的区别(专门针对 Java 编程语言)。目前,我正在尝试将NDEF_DISCOVERED用于我的应用程序,但它不会检测到我的电子货币卡,但如果我使用TAG_DISCOVERED它可以检测到该卡(ID)。我已经阅读了官方文档,但我仍然不太理解它。有人可以向我解释更多吗?

java android NFC

评论


答:

0赞 Andrew 11/1/2023 #1

Android 文档概述了这些差异

Ndef 是一种标准数据格式,能够存储在各种类型的标签之上

技术类型是低级通信规范,您应该寻找其中的一个或多个。您应该使用这些命令通过命令支持与标签进行通信,无论您收到哪种标签类型,都使用了一些标准命令和各种协议。维基百科条目有一张很好的图表,展示了这些标准是如何组合在一起的。

Android 文档为您提供了如何使用简单的技术类型。

TAG_DISCOVERED是任何非标准的东西的包罗万象,不应该真正使用。

当您提到电子货币标签时,这可能是使用 A 或 B 技术类型的 NFC Type 4 标签,并且可能会使用 IsoDep 类进行通信。

但是,您需要获得该卡的数据表,了解它支持的 ISO 7816-4 命令,它可能支持某些 EMV APDU。这种类型的标签使用起来更复杂,您必须对这一领域有详细的了解才能使用这种类型的标签,并且某些细节将受到限制访问。