我正在
Android OS(三星Galaxy)上做一个EMV应用程序.
我可以毫无问题地发送几个APDU命令,但是当我尝试发送内部认证命令时.我有这个错误:标签丢失了.你对这个错误的目的有什么想法吗?我不是Android上的实验开发者,我可能忘记了一些东西.
>命令是正确的.
>我可以用另一个命令替换,它可以工作(我的意思是我可以恢复一个响应).
在哪些情况下,可以在Android上打破NFC通信?
在这里,您可以在发送命令时看到我的问题:
D/ECInfoGrabber(14088): Send: 00 88 00 00 04 14 16 67 3D
D/OpenGLRenderer(14088): Flushing caches (mode 0) D/dalvikvm(14088): GC_FOR_ALLOC freed 227K,4% free 14298K/14855K,paused 29ms
I/dalvikvm-heap(14088): Grow heap (frag case) to 14.142MB for
115216-byte allocation D/dalvikvm(14088): GC_FOR_ALLOC freed 3K,4%
free 14408K/14983K,paused 15ms
谢谢
解决方法
一种可能性是卡的响应比默认的超时设置花费更多的时间.当卡必须进行一些内部计算时,通常会发生这种情况;通常在加密操作(例如身份验证)的情况下.
您可以使用IsoDep.setTimeout()
更改超时值:
IsoDep iso = IsoDep.get(tag); iso.connect(); iso.setTimeOut(5000); // 5 sec time out iso.transceive(apduCommand); // now send your command