繁体   English   中英

如何在Android手机上模拟nfc-tag

[英]How to emulate a nfc-tag on an android phone

我有一个Android手机(nexus s,sdk v15),它将使用tag-emulation将字符串发送到以nfc-reader / writer-mode运行的开发板。 我知道android没有正式支持,所以我可以通过直接访问驱动程序(?)来本机化。

有没有任何人做过这样做的例子或者这样做的应用程序(最好是开源?)

我在google上发现了一些东西,通常建议不要这样做,或者人们谈论它是如何可能的或者他们如何(非常普遍地)完成它,但我找不到任何代码或精确的建议。

我不想访问安全元素或做任何需要供应商/提供商批准的智能卡。 我只是想转移字符串。 我也知道这可以通过p2p的android api方法来完成,但是这对板子来说效果不好,所以我试试这个方法。

对于运行库存KitKat 4.4的设备

使用Android KitKat 4.4操作系统内置了将手机充当NFC 的功能,因此您不再需要依赖Cyanogenmod或自定义ROM。 它本身不会让手机充当Mifare Classic标签,但是我的手机与ACR122阅读器进行通信效果很好,所以如果你的设备能够获得4.4,我肯定会推荐这个选项。

如果你想要低于4.4并且愿意使用Cyanogenmod

可以将应用程序加载到您的设备上并让它们很容易通过NFC与读取器通信,但是您必须运行Cyanogenmod ,此功能来自CM 9.1

想要运行Gingerbread (旧答案)

是的,这是可能的,并且已经有2.3.4的补丁用于启用它,我将发布一些链接供您阅读。

他们确实要求将2.3.4 Gingerbread ROM闪存到你的设备以及一些其他补丁以启用卡仿真功能,所以如果你不愿意这样做那么它们将没有多大用处,但就我而言意识到这是让它运转的唯一方法。 我自己没有亲自测试过,但用户评论表明它有效。

以下是描述整个过程的博客链接: http//techshek4u.blogspot.co.uk/2012/01/applying-card-emulation-patch-to_03.html

以下是原始论坛帖子的链接,其中包含2.3.4补丁以启用它:
http://forum.xda-developers.com/showthread.php?t=1281946

并且链接到原始讨论,其中各种开发人员正在努力使其工作,这取决于您对Android和NFC的技术知识,这可能或多或少有趣: https//groups.google.com/forum/#!msg / Android的开发者/ 1fw1qfFqpGc / 6dlzvTqExN4J

警告:根据NFCGuy的回答“如果运行ICS,请不要将手机降级为GB。您无法将NFC固件降级为与GB再次兼容,因此如果您使用闪存设备,NFC将无法正常工作GB“。

如果您使用设备,则可以创建一个打开卡仿真模式的应用程序。 这不是太难,请参阅https://stackoverflow.com/a/10506299/1202968

但是,卡片仿真完全由安全元素处理。 您的应用无法访问正在传输的数据。 获得控制权的唯一方法是在Secure Element上创建和安装Java Card applet。 但是,为了能够这样做,您需要访问仅为Google所知的秘密身份验证密钥。

PS:如果正在运行ICS,请不要将手机降级为GB。 您无法将NFC固件降级为与GB再次兼容,因此如果使用GB刷新设备,NFC将无法正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM