安卓 NFC : Tag lost when APDU command sent to a smart card

标签 android tags nfc apdu

我正在 Android OS (Samsung 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 

关于安卓 NFC : Tag lost when APDU command sent to a smart card,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11776919/

相关文章:

javascript - 填写表格正常,但验证不采用字段内容

android - WebView 和 GridView 变成 ScrollView,View 太大无法放入绘图缓存

javascript - 检查 HTML 标签是否可以包含文本

Android NFC 启动屏幕

android - setColorFilter 只影响 src,还是影响 src 和背景?

android - 如何搭建astrid task开源项目

drupal - View 正在从输出中剥离标签

android - Ndef.get(tag) 返回 null

encryption - NFC 通信 - Mifare DESFire EV1 - AES

iphone - 如何在 iPhone 中实现 NFC(近场通信)?