【问题标题】:Can an Android NFC phone act as an NFC tag?Android NFC 手机可以充当 NFC 标签吗?
【发布时间】:2019-09-18 21:43:06
【问题描述】:

据我所知,NFC 手机将充当 NFC 阅读器,从 NFC 标签读取数据。现在我的问题是,我们可以改变这个吗?我们能否让 Android NFC 手机充当 NFC 读取器从中获取数据的标签?

感谢您的帮助。

【问题讨论】:

    标签: android nfc hce


    【解决方案1】:

    此时,我会回答“否”或“有困难”,但随着 android NFC API 的发展,这可能会随着时间而改变。

    NFC交互共有三种模式:

    1. Reader-Writer:手机读取标签并写入标签。它不是模拟卡,而是模拟 NFC 读写器设备。因此,您无法在此模式下模拟标签。

    2. 点对点:手机可以读取和传回 ndef 消息。如果标签阅读器支持点对点模式,则手机可能充当标签。但是,我不确定android是否在LLCP协议(NFC逻辑链接协议)之上使用了自己的协议,这会阻止大多数读者将手机视为nfc标签。

    3. 卡模拟模式:手机使用安全元件模拟智能卡或其他非接触式设备。我不确定这是否已经启动,但可以提供有希望的。但是,使用安全元素可能需要硬件供应商或其他人来验证您的应用程序/授予其访问安全元素的权限。它不像创建一个普通的 NFC 安卓应用那么简单。

    更多细节在这里: http://www.mail-archive.com/android-developers@googlegroups.com/msg152222.html

    一个真正的问题是:你为什么要模拟一个简单的旧 nfc 标签?有没有我没有想到的应用程序?通常,您需要模拟交通卡、访问密钥或信用卡等需要安全元素的东西(我认为,但不确定)。

    【讨论】:

    • 好的。谷歌今天刚刚宣布 google.com/wallet。在这种情况下,手机不会充当标签吗?
    • 正如@erich-douglass 上面指出的那样:不一定。如果阅读器终端是点对点的,则不需要充当标签。
    • 如上,您可以使用 NDEF 推送和 android 2.3+ 中的点对点支持从手机写入阅读器,但您需要确保阅读器代码是点对点的。 (需要是具有 NFC 芯片的手机,例如 Galaxy Nexus、Nexus S。)
    • 问题是目前大多数 NFC 读卡器都采用无源标签。支持主动 LLCP 交换要复杂得多,当然仍然支持被动读卡。有可能,但我还没有听说过使用 LLCP 实现的付款方式...
    • 这已经过时了。 Android 4.4 具有基于主机的卡模拟,它允许这样做:developer.android.com/guide/topics/connectivity/nfc/hce.html
    【解决方案2】:

    我们可以制作一个 Android NFC 作为 NFC 阅读器从中获取数据的标签吗?

    Nexus S 支持peer-to-peer 模式,顾名思义,它使一部手机充当另一部手机可以读取的标签。今年在 NFC 上有一个非常好的Google I/O session。如果您对 NFC 感兴趣,我建议您观看。

    【讨论】:

    • 谢谢。这让我很清楚。但是 NFC 阅读器可以从手机中读取数据吗?
    • @jpartogi 我不完全确定,但我认为读者必须明确支持点对点模式才能工作。
    • 点对点模式是指手机或设备都充当阅读器。信息与其说是阅读,不如说是来回推送(写入)。
    • @ErichDouglass 视频链接失效了,我想这就是你的意思youtube.com/watch?v=49L7z3rxz4Q
    【解决方案3】:

    检查 Android 4.4 中可用的基于主机的卡仿真 (HCE) NFC 模式。

    API 指南:https://developer.android.com/guide/topics/connectivity/nfc/hce.html

    【讨论】:

      【解决方案4】:

      是的,你可以。 Android kitkat 增强了此功能here

      【讨论】:

        【解决方案5】:

        在这里阅读:http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec4843abd73d9e9?pli=1

        我自己还没有验证过,但看起来人们设法再次将隐藏代码包含到 Android 中。 他们似乎能够模拟 Mifare Classic 卡 (iso-14443)。 我很快就会自己测试一下,看起来很有趣。

        如果您想为商业/免费应用程序做这件事,您会遇到困难,您的用户不会愿意更改他们的内核来支持您的应用程序。

        更新: 有一个简单的技巧可以让您的手机模拟一张票:
        您可以获得 NFC 贴纸并将其放入手机或手机上。这样您就可以随时读写它,其他设备也可以读写它。
        这只是我的一个想法,当然从未见过在任何地方使用过;)

        【讨论】:

        • 我们已经通过 iCarte 在 iPhone 上尝试了 NFC 标签仿真的技巧。它可能会起作用......但我们决定取消它,因为那真的无法使用......
        【解决方案6】:

        有可能让 Android 设备充当 NFC 标签。这种行为称为卡片模拟

        • 卡仿真可以基于主机 (HCE) 或基于安全元件 (CE)。
        • 在 HCE 中,运行在 Android 主处理器上的应用程序会响应阅读器。所以,手机需要开机。
        • 在 CE 中,位于 Secure 元素中的小程序会响应阅读器。在这里,它足以让 NFC 控制器通电,而设备的其余部分则暂停。
        • 可以同时激活其中一种或两种方法。
          路由表指示 NFC 控制器将读取器的命令路由到哪里。

        【讨论】:

        • 能提供一些参考或用例吗?
        【解决方案7】:

        是的,看看 NFCManager 中的 NDEF Push - 在 Android 4 中,您现在甚至可以创建 NDEFMessage 以在交互发生时推送到活动设备。

        【讨论】:

        • 这不是p2p模式吗?非 NFC 论坛强制标签仿真。
        【解决方案8】:

        在关于 NFC 的 google io 会话中,qa 部分。有这样一个问题:

        卡模拟? 不支持卡模拟的 API 在进行卡片模拟时没有一致的用户体验,也没有引人入胜的故事

        【讨论】:

        • 再一次 - 卡模拟“不允许”的原因是通常需要使用安全元件,但对于 NFC 标签没有安全性(实际上它们不能有任何安全性)。这消除了对安全元素的需求,并且可以通过应用程序代码来模拟它。
        【解决方案9】:

        如果您的意思是让有源 NFC 设备伪装成被动设备(例如标签).. 不确定它的工作情况如何,但 Android 应用 NFCClassic 声称会记录标签内容,然后允许激活标签并似乎是 NFC 阅读器的复制标签。创建一个记录标签库。

        【讨论】:

          【解决方案10】:

          对于 NFC 技术,这很容易。对于谷歌,它不会支持它作为谷歌钱包。

          【讨论】:

            【解决方案11】:

            不,目前没有。 Google 在 Google IO 2011 上指出,不支持卡仿真,并且暂时不会支持。主要(且易于理解)问题:哪个应用程序应该在手机上正确模拟智能卡?

            【讨论】:

            • 正确的做法是让 IC 有可能根据请求从每个信息中接受信息 ...
            【解决方案12】:

            您绝对可以使用点对点支持中的 NDEFPush 功能让 Android 手机写入标签阅读器 - 但您还需要在标签阅读器端编写代码才能使用点对点(llcp)。

            【讨论】:

              【解决方案13】:

              是的,你可以,这是点对点模式

              点对点模式


              双向 P2P 连接以在设备之间交换数据

              ——接近触发的交互

              –Nexus S:设备必须背靠背放置

              应用示例

              –电子名片的交换

              –门票交接和P2P支付

              –网页分享、Youtube视频分享

              --应用分享

              【讨论】:

                【解决方案14】:

                是的!你可以 只需下载此应用!

                Download APP

                如果您想知道如何使用此应用,请观看此视频 How To use NFC tools to emulate NFC as a tag app

                谢谢! 如果对你有帮助,请标记我的回答!

                【讨论】:

                • 仿真仅适用于付费的“专业”版应用。
                • 不要使用链接,你应该从这里的链接中写下相关的东西(仍然保持链接作为源)。
                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多