Android - NFC - transceive () - android.nfc.TagLostException: тег был потерян [дубликат]

Вы можете сделать это, вызвав метод Activity runOnUiThread из вашего потока:

activity.runOnUiThread(new Runnable() {
    public void run() {
        Toast.makeText(activity, "Hello", Toast.LENGTH_SHORT).show();
    }
});
7
задан user1571292 2 August 2012 в 12:58
поделиться

1 ответ

Одна из возможностей заключается в том, что ответ с карты занимает больше времени, чем установленная по умолчанию таймаут. Это часто происходит, когда карта должна выполнять некоторые внутренние вычисления; как правило, в случае криптографических операций, таких как аутентификация.

Вы можете изменить значение тайм-аута, используя IsoDep.setTimeout() :

 IsoDep iso = IsoDep.get(tag);
 iso.connect();
 iso.setTimeOut(5000); // 5 sec time out
 iso.transceive(apduCommand); // now send your command 
11
ответ дан NFC guy 27 August 2018 в 18:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: