В своем приложении для Zebra MC330M я использую EMDK: Zebra Technologies Corp: API EMDK: 26
У меня есть действие, которое реализует слушатель, и я переопределяю функцию onOpened:
@Override
public void onOpened(EMDKManager emdkManager) {
this.emdkManager = emdkManager;
try {
initializeScanner();
} catch (ScannerException e) {
Log.e("ON_OPENED", e.getMessage());
e.printStackTrace();
}
}
И как сказано в ссылке: Базовое руководство по сканированию с использованием штрих-кода API - Zebra Technologies Techdocs
Я вставил функцию initializeScanner:
if (scanner == null) {
// Get the Barcode Manager object
barcodeManager = (BarcodeManager) emdkManager.getInstance(FEATURE_TYPE.BARCODE);
// Add connection listener
if (barcodeManager != null) {
barcodeManager.addConnectionListener(this);
}
// Get default scanner defined on the device
scanner = barcodeManager.getDevice(BarcodeManager.DeviceIdentifier.DEFAULT);
// Add data and status listeners
scanner.addDataListener(this);
scanner.addStatusListener(this);
// Hard trigger. When this mode is set, the user has to manually
// press the trigger on the device after issuing the read call.
scanner.triggerType = TriggerType.HARD;
// Enable the scanner
scanner.enable();
startRead = true;
}
Но при звонке scanner.enable()
он выбрасывает
ScannerException
исключение с сообщением:
"Отказ"
Но похоже, что ошибка отображается только в режиме отладки, когда я пытаюсь скомпилировать свое приложение и запустить его, когда устройство находится в режиме ожидания или когда устройство находится в режиме ожидания в течение длительного времени.
У кого-то еще есть эта проблема?