2012-08-02 165 views
6

我正在Android OS(Samsung Galaxy)上執行EMV應用程序。Android NFC:當APDU命令發送到智能卡時標記丟失

我能夠發送幾個APDU命令沒有問題,但當我試圖發送內部驗證命令。我有這個錯誤:標籤丟失。你對這個錯誤的目的有什麼想法嗎?我不是Android上的實驗開發者,可能我已經忘記了一些東西。

  • 該命令是正確的。
  • 我可以用另一個命令替換,它的工作原理(我的意思是我可以恢復一個響應)。

在哪種情況下,NFC通信可以在Android上被破壞?

在這裏,你可以看到我的問題,當命令被髮送:

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):增加堆(碎片大小)至14.142MB 115216-分配D/dalvikvm(14088):GC_FOR_ALLOC已釋放3K,4% 免費14408K/14983K,暫停15ms

謝謝

回答

10

一種可能性是卡的響應需要比默認超時設置更多的時間。這通常發生在卡片必須進行內部計算時;通常在密碼操作(例如認證)的情況下。

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

IsoDep iso = IsoDep.get(tag); 
iso.connect(); 
iso.setTimeOut(5000); // 5 sec time out 
iso.transceive(apduCommand); // now send your command 
+1

謝謝。有用。你是英雄 – user1571292 2012-08-06 12:08:11