10

私はAndroidOS(Samsung Galaxy)でEMVアプリケーションを実行しています。

複数の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):115216バイトの割り当てでヒープ(フラグメントケース)を14.142MBに拡張D / dalvikvm(14088):GC_FOR_ALLOCが3Kを解放、4%が14408K / 14983Kを解放、15msを一時停止

ありがとう

4

1 に答える 1

17

1つの可能性は、カードからの応答がデフォルトのタイムアウト設定よりも時間がかかることです。これは、カードが内部計算を行う必要がある場合によく発生します。通常、認証などの暗号化操作の場合。

タイムアウト値は、次を使用して変更できますIsoDep.setTimeout()

 IsoDep iso = IsoDep.get(tag);
 iso.connect();
 iso.setTimeOut(5000); // 5 sec time out
 iso.transceive(apduCommand); // now send your command 
于 2012-08-03T21:31:26.717 に答える