标签:cyanogenmod android nfc contactless-smartcard hce
我是该领域的新手,我有Nexus S(CyanogenMod11 = Android Kitkat 4.4.2)
而且我需要使用HCE(基于主机的卡仿真)模式来仿真非接触式卡.
我需要遵循的步骤和技巧方面的任何指导吗?
(-我是否需要对模拟的安全元素进行编程?将其放到云中?)
附注:我还必须使用新的阅读器模式,因为我的应用程序将由另一台支持NfC的Android手机而非NFC阅读器读取.
谢谢.
解决方法:
在CyanogenMod 11之前,CyanogenMod支持其自己的基于主机的卡仿真功能.您可以为android.nfc.tech.IsoPcdA技术注册foreground dispatch,然后可以使用IsoPcdA.transceive()方法模拟智能卡.有关如何使用此API的信息,请参见Nikolay Elenkov的blog post.
但是,浏览CyanogenMod 11 source (specifically tht of the NFC service)似乎已在版本11中删除了此功能,以支持Android 4.4的官方HCE API.
官方的Android 4.4 HCE API允许应用程序在Android服务中模拟非接触式智能卡(ISO 14443-4 ISO 7816-4 APDU).该服务将处理应用程序的所有传入命令APDU并生成适当的响应APDU.有关如何注册此类HCE服务的更多信息,请参见official API user guide;有关如何在HCE服务中处理传入命令APDU的信息,请参见this answer.
不幸的是,该API在使用libnfc-nxp作为低级NFC堆栈的设备上都不可用(请参阅CyanogenMod 11源代码中的routeAid()
和enableRoutingToHost()
的空实现).
综上所述,似乎目前无法在带有CM 11的Nexus S上进行基于主机的卡仿真.
标签:cyanogenmod,android,nfc,contactless-smartcard,hce 来源: https://codeday.me/bug/20191009/1878012.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。