コード例 #1
0
 @Override
 public void terminate() throws CmdException {
   try {
     cancel.execute(
         sd,
         new FpCancelResult() {
           @Override
           public void onSuccess() {
             // espera a que se señalice el semáforo terminate.
             terminate.acquireUninterruptibly();
           };
         });
   } catch (CmdException e) {
     logger.log(Level.SEVERE, e.getMessage(), e);
     throw e;
   }
 }
コード例 #2
0
  @Override
  public void run() {
    exit = false;
    while (!exit) {

      try {
        identify.execute(
            sd,
            new IdentifyResult() {

              @Override
              public void onSuccess(int fpNumber) {

                logger.info("Huella identificada : " + String.valueOf(fpNumber));

                try {
                  player.play(soundOk);
                } catch (Exception e1) {
                  e1.printStackTrace();
                }
              }

              @Override
              public void releaseFinger() {
                logger.info("Debe retirar el dedo del lector");
              }

              @Override
              public void onNotFound() {

                logger.info("Huella no encontrada");

                try {
                  player.play(soundError);
                } catch (Exception e1) {
                  e1.printStackTrace();
                }
              }

              @Override
              public void onFailure(int errorCode) {

                logger.info("Error identificando la huella : " + errorCode);

                try {
                  player.play(soundError);
                } catch (Exception e1) {
                  e1.printStackTrace();
                }
              }

              @Override
              public void onCancel() {

                logger.info("Cancelando la identificación");

                exit = true;
                try {
                  player.play(soundOk);
                } catch (Exception e1) {
                  e1.printStackTrace();
                }
              }
            });

      } catch (CmdException e) {
        logger.log(Level.SEVERE, e.getMessage(), e);
      }
    }

    // señala la finalización para que terminate() pueda retornar;
    terminate.release();
  }