场景:需要使用Android阅读SmartCard。
我正在尝试使一个应用程序在安卓阅读智能卡使用5427 smartcard阅读器。我已经使用OTG/ USB连接了该读卡器。我已经从Play Store下载了这个应用程序ATR Analyzer,它成功地读取了卡片。我想做类似的应用程序,但找不到任何线索,因为下面的应用程序正在使用的库是不可用的https://play.google.com/store/apps/details?id=com.scdroid.atranalyzer&hl=en
在Windows上,我可以使用java javax-smartcardio创建一个应用程序,它工作得很好。另外,我可以在C# .net console中制作基于读卡的应用程序。
我找遍了所有的javax--我发现智能心脏不能用在安卓上。
还有另一种选择,使用java和raspberry Pi来达到相同的结果,无论android如何根据我的需求更适合我
发布于 2015-09-09 15:18:31
通过介绍如何通过USB与智能卡读卡器通信的CCID protocol specification和描述如何在Android中进行USB通信的Android USB Host documentation。
基本上,除了默认(控制)端点之外,每个智能卡读卡器至少支持两个端点:一个大容量输出和一个大容量输入。
图中显示了Omnikey 5427 CK阅读器的端点信息。
发布于 2015-09-09 17:37:57
您必须借助UsbDevice
类提供的接口来创建设备连接,并通过getInterface()
获取设备的接口,然后使用UsbDeviceConnection
类并调用claimInterface()
来声明该接口。
然后你可以用OTG数据线将你的阅读器连接到android设备上。
https://stackoverflow.com/questions/32463038
复制相似问题