Вы можете сделать это, вызвав метод Activity
runOnUiThread
из вашего потока:
activity.runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(activity, "Hello", Toast.LENGTH_SHORT).show();
}
});
Одна из возможностей заключается в том, что ответ с карты занимает больше времени, чем установленная по умолчанию таймаут. Это часто происходит, когда карта должна выполнять некоторые внутренние вычисления; как правило, в случае криптографических операций, таких как аутентификация.
Вы можете изменить значение тайм-аута, используя IsoDep.setTimeout()
:
IsoDep iso = IsoDep.get(tag);
iso.connect();
iso.setTimeOut(5000); // 5 sec time out
iso.transceive(apduCommand); // now send your command