Android NFC手机自动模拟多个标签

标签 android tags nfc emulation

所以我了解到,在 Android 中,可以将智能手机配置为模拟模式以模拟给定的 NFC 标签。我很好奇的是,是否有一种方法可以在 NFC 握手期间通过某种唯一 ID 来识别 NFC 阅读器。

例如,假设我每天都使用一些 NFC 兼容标签……比如燃料奖励卡、我的工作安全徽章和我的主要品牌信用卡。是否可以根据手机检测到的阅读器自动模拟正确的标签,这样当我点击燃油泵时,我的燃油津贴标签就会被模拟,当我在工作时点击传感器时,我的徽章就会被模拟,当我点击时在哪个零售店模拟我的信用卡?

最佳答案

简短的回答:可能不会。读者没有唯一的 ID。他们发出标准化和固定的轮询命令。

但是,非接触式智能卡系统通常与 ISO 7816-4 兼容。它们在一张卡上支持多个应用程序。读者选择他们想要与之交互的应用程序的应用程序 ID。因此,如果您所有的卡都是兼容 ISO 7816-4 的 ISO 14443-4 卡,那么(理论上)可以将它们组合成一张卡,例如在您的 NFC 手机的安全元件中。

另一种流行的非接触式系统是 MIFARE Classic。 NFC 手机中的安全元件很可能也可以模拟 MIFARE Classic 卡。这些卡不符合 ISO 7816-4 标准,但仍然可以在一张卡上组合多个应用程序(使用所谓的 MIFARE 应用程序目录)。因此,如果您的卡是符合 ISO 7816-4 标准的卡和 MIFARE Classic 卡的集合,理论上可以将它们组合在安全元件中。但是,MIFARE 卡的内存有限,并且使用 key 进行读写访问,因此您无法读取其中的内容。因此,即使理论上可以组合多个应用程序,但在实践中可能仍然是不可能的。

您的一张或多张卡很可能不符合 ISO 7816-4 标准且不符合 MIFARE Classic,例如 MIFARE Ultralight、DESFire 或 ICODE(仅举几例)。您可以使用 Android 应用程序(例如 TagInfo)检查里面装有什么芯片。 .

关于Android NFC手机自动模拟多个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11856530/

相关文章:

python - 如何在 NLTK 中将荷兰语文本与西类牙语部分分开?

android - 如何在 Mifare Ultralight C(使用 android)上使用安全性?

java - 无论如何要在没有 GCM 的情况下向 android 发送推送通知?

javascript - 仅使用 HTML 将参数传递给 <a> href 标记内的链接

javascript - 寻找好的标签库

Android Beam LLCP 协议(protocol)

ios - 我们可以在 iOS 13 中模拟 NFC 卡吗?

android - 使用 RecyclerView 的房间数据库 View

android - 如何在随机屏幕位置显示按钮

android - MVVM 在 MvxBindableListView 中交叉更改 ViewModel