Android NFC:当APDU命令发送到智能卡时标签丢失

时间:2012-08-02 11:58:19

标签: android tags nfc apdu

我正在Android OS上运行EMV应用程序(Samsung Galaxy)。

我可以毫无问题地发送多个APDU命令,但是当我尝试发送内部认证命令时。我有这个错误:标签丢失了。你对这个错误的目的有什么想法吗?我不是Android上的实验开发者,我可能忘记了一些东西。

  • 命令正确。
  • 我可以用另一个命令替换,它可以工作(我的意思是我可以恢复一个响应)。

在哪些情况下,可以在Android上破坏NFC通信?

在这里,您可以在发送命令时看到我的问题:

  

D / ECInfoGrabber(14088):发送:00 88 00 00 04 14 16 67 3D
  D / OpenGLRenderer(14088):刷新缓存(模式0)D / dalvikvm(14088):GC_FOR_ALLOC释放227K,4%释放14298K / 14855K,暂停29ms   I / dalvikvm-heap(14088):将堆(frag case)增长到14.142MB   115216字节分配D / dalvikvm(14088):GC_FOR_ALLOC释放3K,4%   免费14408K / 14983K,暂停15ms

谢谢

1 个答案:

答案 0 :(得分:12)

一种可能性是来自卡的响应比默认超时设置花费更多时间。当卡必须进行一些内部计算时,通常会发生这种情况;通常在加密操作(如身份验证)的情况下。

您可以使用IsoDep.setTimeout()更改超时值:

 IsoDep iso = IsoDep.get(tag);
 iso.connect();
 iso.setTimeOut(5000); // 5 sec time out
 iso.transceive(apduCommand); // now send your command 
相关问题