Вызов Reader.Capture() в SDK DigitalPersona U.are.U не возвращает результатJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Вызов Reader.Capture() в SDK DigitalPersona U.are.U не возвращает результат

Сообщение Anonymous »

Я разрабатываю приложение для устройства считывания отпечатков пальцев DigitalPersona U.are.U 4500 и использую Java API U.are.U 2.2.3 SDK.
Пример Java-приложения, которое поставляется с SDK, работает безупречно.
Однако, когда я пытаюсь сделать то же самое в своем примере приложения, вызов метода Reader.Capture() никогда не возвращается, хотя я можно увидеть, как считыватель мигает, когда запись моего отпечатка пальца.
Ниже приведен вариант примера кода, который я пробовал.
Другие вещи, которые я пробовал:
  • Выполнение кода захвата в экземпляре класса (т. е. не в статическом контексте)
  • Выполнение операции захвата в отдельном потоке тоже, но результаты те же.
  • Использование Класс CaptureThread из демонстрационного приложения
Единственное различие, которое я вижу между моим примером и примером приложения SDK, заключается в том, что последнее является графическим приложением. Но почему это имеет значение?
Отключение устройства приводит к сбою вызова с исключением. Это единственный способ вернуть его.

Код: Выделить всё

import com.digitalpersona.uareu.*;

public class Main{

static Reader r;

public static void main(String[] args) {

try {
// Pick first available reader
ReaderCollection rc = UareUGlobal.GetReaderCollection();
rc.GetReaders();
r = rc.get(0);
if (r==null)
return;

// Open Reader
r.Open(Reader.Priority.COOPERATIVE);
System.out.println(r.GetStatus().status); // Outputs READY

// The following call just hangs and never returns...
Reader.CaptureResult
cr = r.Capture(Fid.Format.ISO_19794_4_2005, Reader.ImageProcessing.IMG_PROC_DEFAULT, 500, -1);
System.out.println(cr.quality.name()); // Just to test

} catch (UareUException e) {
e.printStackTrace();
}
}
}

Последние два параметра (два целых числа), передаваемые методу Capture, — это разрешение и время ожидания соответственно; передача -1 для блоков таймаута на неопределенный срок. Это также взято из примера приложения.

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

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

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

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

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

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