Исключение Zebra SDK RFID API COMMAND_TIMEOUT при попытке повторного подключенияAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Исключение Zebra SDK RFID API COMMAND_TIMEOUT при попытке повторного подключения

Сообщение Anonymous »

Я работаю над внедрением версии 2.0.4.192 Zebra SDK для сканирования RFID-меток с помощью портативного устройства RFD40 и телефона Android TC53.
При тестировании SampleApp предоставьте SDK, если я удалю и снова подключу устройство через USB, то образец не сможет повторно подключиться, и мне придется закрыть приложение и перезапустить его.
Журналы выдают исключение OperationFailureException с кодом ошибки RFID_API_COMMAND_TIMEOUT при вызове функции read.connect() . Сканирование полностью перестает работать, и триггер не распознается.
Я пытался увеличить тайм-аут чтения с помощью reader.setTimeout(10000) перед подключением, но он не работает.
Сталкивался ли кто-нибудь с этой проблемой, и если да, то как вы ее решили?
Вот пример кода, который создает проблему:
private synchronized String connect() {
if (reader != null) {
Log.d(TAG, "connect " + reader.getHostName());
try {
if (!reader.isConnected()) {
// Establish connection to the RFID Reader
reader.setTimeout(10000);
reader.connect();
ConfigureReader();

//Call this function if the readerdevice supports scanner to setup scanner SDK
//setupScannerSDK();
if (reader.isConnected()) {
return "Connected: " + reader.getHostName();
}

}
} catch (InvalidUsageException e) {
e.printStackTrace();
} catch (OperationFailureException e) {
e.printStackTrace();
Log.d(TAG, "OperationFailureException " + e.getVendorMessage());
String des = e.getResults().toString();
return "Connection failed" + e.getVendorMessage() + " " + des;
}
}
return "";
}

И трассировка стека:
2025-08-26 16:59:30.000 31235-31270 IRFIDinfo com.zebra.rfid.demo.sdksample D GetResponseDataReceived GetCapabilities tm 2000
2025-08-26 16:59:30.019 31235-31367 RFIDSerialIOMgr com.zebra.rfid.demo.sdksample I Stopping mState=STOPPED
2025-08-26 16:59:32.001 31235-31270 IRFIDError com.zebra.rfid.demo.sdksample D RFIDPROTOAscii: GetStatus: RFID_API_COMMAND_TIMEOUTGetCapabilities size 0
2025-08-26 16:59:32.001 31235-31270 IRFIDinfo com.zebra.rfid.demo.sdksample D logError RFID_API_COMMAND_TIMEOUT Response timeout
2025-08-26 16:59:32.002 31235-31270 IRFIDinfo com.zebra.rfid.demo.sdksample D getLinkProfilesCaps results : RFID_API_COMMAND_TIMEOUT
2025-08-26 16:59:32.002 31235-31270 IRFIDinfo com.zebra.rfid.demo.sdksample D getLinkProfilesCaps results : RFID_API_COMMAND_TIMEOUT
2025-08-26 16:59:32.007 31235-31270 System.err com.zebra.rfid.demo.sdksample W com.zebra.rfid.api3.OperationFailureException
2025-08-26 16:59:32.009 31235-31270 System.err com.zebra.rfid.demo.sdksample W at com.zebra.rfid.api3.ProcessErrorCode.ThrowException(ProcessErrorCode.java:16)
2025-08-26 16:59:32.009 31235-31270 System.err com.zebra.rfid.demo.sdksample W at com.zebra.rfid.api3.RFIDReader.postConnectInitialize(RFIDReader.java:328)
2025-08-26 16:59:32.010 31235-31270 System.err com.zebra.rfid.demo.sdksample W at com.zebra.rfid.api3.RFIDReader.connect(RFIDReader.java:686)
2025-08-26 16:59:32.010 31235-31270 System.err com.zebra.rfid.demo.sdksample W at com.zebra.rfid.demo.sdksample.RFIDHandler.connect(RFIDHandler.java:834)
2025-08-26 16:59:32.011 31235-31270 System.err com.zebra.rfid.demo.sdksample W at com.zebra.rfid.demo.sdksample.RFIDHandler.access$800(RFIDHandler.java:46)
2025-08-26 16:59:32.011 31235-31270 System.err com.zebra.rfid.demo.sdksample W at com.zebra.rfid.demo.sdksample.RFIDHandler$ConnectionTask.doInBackground(RFIDHandler.java:767)
2025-08-26 16:59:32.014 31235-31270 System.err com.zebra.rfid.demo.sdksample W at com.zebra.rfid.demo.sdksample.RFIDHandler$ConnectionTask.doInBackground(RFIDHandler.java:761)
2025-08-26 16:59:32.015 31235-31270 System.err com.zebra.rfid.demo.sdksample W at android.os.AsyncTask$3.call(AsyncTask.java:394)
2025-08-26 16:59:32.015 31235-31270 System.err com.zebra.rfid.demo.sdksample W at java.util.concurrent.FutureTask.run(FutureTask.java:317)
2025-08-26 16:59:32.016 31235-31270 System.err com.zebra.rfid.demo.sdksample W at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305)
2025-08-26 16:59:32.016 31235-31270 System.err com.zebra.rfid.demo.sdksample W at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
2025-08-26 16:59:32.017 31235-31270 System.err com.zebra.rfid.demo.sdksample W at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
2025-08-26 16:59:32.017 31235-31270 System.err com.zebra.rfid.demo.sdksample W at java.lang.Thread.run(Thread.java:1119)
2025-08-26 16:59:32.017 31235-31270 RFID_SAMPLE com.zebra.rfid.demo.sdksample D OperationFailureException Response timeout
2025-08-26 16:59:45.766 31235-31248 System com.zebra.rfid.demo.sdksample W A resource failed to call close.
2025-08-26 16:59:45.769 31235-31248 System com.zebra.rfid.demo.sdksample W A resource failed to call UsbRequest.close.
2025-08-26 16:59:45.769 31235-31248 UsbRequestJNI com.zebra.rfid.demo.sdksample D close
2025-08-26 16:59:45.770 31235-31248 System com.zebra.rfid.demo.sdksample W A resource failed to call UsbRequest.close.
2025-08-26 16:59:45.770 31235-31248 UsbRequestJNI com.zebra.rfid.demo.sdksample D close


Подробнее здесь: https://stackoverflow.com/questions/797 ... -reconnect
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»