据我目前了解,NFC 手机将充当 NFC 阅读器,从 NFC 标签读取数据。现在我的问题是,我们可以改变这个吗?我们能否让 Android NFC 手机充当 NFC 读取器从中获取数据的标签?
感谢你的协助。
此时,我会回答“否”或“有困难”,但随着 android NFC API 的发展,这可能会随着时间的推移而改变。
NFC交互的三种模式:
Reader-Writer:手机读取标签并写入标签。它不是模拟卡,而是模拟 NFC 读写器设备。因此,您无法在此模式下模拟标签。
点对点:手机可以读取和传回 ndef 消息。如果标签阅读器支持点对点模式,则手机可能充当标签。但是,我不确定 android 是否在 LLCP 协议(NFC 逻辑链接协议)之上使用了自己的协议,这会阻止大多数读者将手机视为 nfc 标签。
卡模拟模式:手机使用安全元件来模拟智能卡或其他非接触式设备。我不确定这是否已经启动,但可以提供有希望的。但是,使用安全元素可能需要硬件供应商或其他人来验证您的应用程序/授予其访问安全元素的权限。它不像创建一个普通的 NFC 安卓应用那么简单。
更多细节在这里: http: //www.mail-archive.com/android-developers@googlegroups.com/msg152222.html
一个真正的问题是:你为什么要模拟一个简单的旧 nfc 标签?有没有我没有想到的应用程序?通常,您会想要模拟交通卡、访问密钥或信用卡等需要安全元素的东西(我认为,但不确定)。
我们可以制作一个 Android NFC 作为 NFC 阅读器从中获取数据的标签吗?
Nexus S 支持点对点模式,顾名思义,这使得一部手机充当另一部手机可以读取的标签。今年关于 NFC的Google I/O 会议非常棒。如果您对 NFC 感兴趣,我建议您观看。
检查 Android 4.4 中可用的基于主机的卡仿真 (HCE) NFC 模式。
API 指南:https ://developer.android.com/guide/topics/connectivity/nfc/hce.html
是的你可以。Android kitkat在此处增强了此功能
我自己还没有验证过,但看起来人们设法再次将隐藏代码包含到 Android 中。他们似乎能够模拟 Mifare Classic 卡 (iso-14443)。我很快就会自己测试一下,它看起来很有趣。
如果您想为商业/免费应用程序这样做,您将很难,您的用户不会喜欢更改他们的内核来支持您的应用程序。
更新:有一个简单的技巧可以让您的手机模拟一张票:
您可以获得一个 NFC 贴纸并将其放入手机中或手机上。这样您就可以随时读写它,其他设备也可以读写它。
这只是我的一个想法,当然从未见过在任何地方使用过;)
是的,看看 NFCManager 中的 NDEF Push - 在 Android 4 中,您现在甚至可以创建 NDEFMessage 以在交互发生时推送到活动设备。
在关于 NFC 的 google io 会话中,qa 部分。有这样一个问题:
卡模拟?不支持卡片模拟的 API 进行卡片模拟时没有一致的用户体验,也没有引人入胜的故事
它可以使 Android 设备充当 NFC 标签。这种行为称为Card Emulation。
如果您的意思是让有源 NFC 设备假装是被动设备(例如标签).. 不确定它的工作情况如何,但 android 应用程序 NFCClassic 声称记录标签内容,然后允许标签被激活并看起来是复制的标签到 NFC 阅读器。创建记录标签库。
是的,你可以,这是点对点模式
点对点模式
双向 P2P 连接以在设备之间交换数据
- 接近触发的交互
–Nexus S:设备必须背靠背放置
应用示例
– 交换电子名片
– 门票交接和 P2P 支付
– 网页分享、Youtube 视频分享
– 应用分享
不,不是此刻。Google 在 Google IO 2011 上指出,不支持卡模拟,暂时不会支持。主要(且易于理解)问题:哪个应用程序应该在手机上正确模拟智能卡?
对于 NFC 技术来说,这很容易。对于谷歌,它不会支持它作为谷歌钱包。
您绝对可以使用点对点支持中的 NDEFPush 功能让 Android 手机写入标签阅读器 - 但您需要在标签阅读器端编写代码才能使用点对点 (llcp) .