Ai galera alguém já trabalhou com biometria(em especial leitura de digitais),
estou trabalhando com o SDK Digital persona, estou tendo algumas dificuldades na gravação e leitura dos arrayLyst de templates.
import com.digitalpersona.uareu.toolkit.*;
import com.digitalpersona.uareu.*;
public void dpFpOnEvent(int code, Object param) {
// set status label to corresponding event message
String label = EVENTS;
jStatusLabel.setText(label);
switch (code) {
case DpFpEventHandler.EVT_VERIFICATION_CANCELED:
enableButtons(true);
break;
case DpFpEventHandler.EVT_REGISTRATION_CANCELED:
enableButtons(true);
break;
case DpFpEventHandler.EVT_TEMPLATE_ACQUISITION_CANCELED:
enableButtons(true);
break;
case DpFpEventHandler.EVT_REGISTRATION_ERROR:
enableButtons(true);
break;
case DpFpEventHandler.EVT_IDENTIFICATION_CANCELED:
enableButtons(true);
break;
case DpFpEventHandler.EVT_IDENTIFICATION_ERROR:
enableButtons(true);
break;
// if image received show it on the screen: *****Se imagem recebeu exposição ele na tela:******
case DpFpEventHandler.EVT_IMAGE_RECEIVED:
//get Java image: *********// Recebe imagem de Java: *******
Image image = ((com.digitalpersona.uareu.toolkit.DpFpImage) param)
.getJavaImage();
// show image on the screen: *******Mostre imagem na tela: *******
jImageLabel.setIcon(new ImageIcon(image.getScaledInstance(
jImageLabel.getWidth(), jImageLabel.getHeight(),
Image.SCALE_DEFAULT)));
break;
case DpFpEventHandler.EVT_REGISTRATION_COMPLETE:
// after registration successfull get result template:
//***Depois que successfull de registro recebe modelo de resultado: ***/
/*********AS MODICAÇOES DESSA VERSÃO FORAM FEITAS AQUI****/
DpFpTemplate regTemplate = (DpFpTemplate) param; //cria registro de templates
regTemplate.setTemplateID(funcionario.regTemplatesArrayListFuncionario.size());//ve o tamanho e cria o id para template
//ARRAYLIST QUE RECEBE A TEMPLATE
funcionario.regTemplatesArrayListFuncionario.add(regTemplate);
regTemplate.setTemplateID(funcionario.regTemplatesArrayListFuncionario.size());//ve o tamanho e cria o id para template
funcionario.regTemplatesArrayListFuncionario.add(regTemplate); //adiciona a template ao regTemplatesArrayList
regTemplates = (DpFpTemplate[]) funcionario.regTemplatesArrayListFuncionario
.toArray(new DpFpTemplate[funcionario.regTemplatesArrayListFuncionario.size()]);
/**INICIO COMANDOS DE Teste***/
//RECEBE NOME E MATRICULA
funcionario.nome = tfNome.getText();
funcionario.matricula = tfMatricula.getText();
//RECEBE O ID DA TEMPLATE E IMPRIME NA TELA
int IdTemplate = regTemplate.getTemplateID();
funcionario.template = String.valueOf(funcionario.regTemplatesArrayListFuncionario.get(IdTemplate));
//String g =String.valueOf(funcionario.regTemplatesArrayListFuncionario.get(2));
//RECEBE DATA DO CADASTRO
funcionario.dataCadastro = (""+data.getDate()+"/"+data.getMonth()+"/"+(data.getYear()+1900));
System.out.println(funcionario.nome);
System.out.println(funcionario.matricula);
System.out.println(funcionario.template);
System.out.println(funcionario.dataCadastro+"\n");
//System.out.println(g);
/***********************************FIM DOS COMANDOS DE TESTE********************************/
btnVerifyEnabled = true;
btnIdentEnabled = true;
if (verTemplate != null)
btnMatchEnabled = true;
enableButtons(true);
break;
case DpFpEventHandler.EVT_TEMPLATE_ACQUISITION_COMPLETE:
// after aquisition successfull get result template:
//Depois que successfull de aquisition recebe modelo de resultado:
verTemplate = (DpFpTemplate) param;
if (funcionario.regTemplatesArrayListFuncionario.size() > 0)
btnMatchEnabled = true;
enableButtons(true);
break;
case DpFpEventHandler.EVT_VERIFICATION_COMPLETE:
// for verification check result and set appropriate message
// Para resultado de cheque de verificação e põe apropria-se mensagem
// to the status label:
// à etiqueta de estado:
DpFpMatchResult res = (DpFpMatchResult) param;
if (res.getResult() == DpFpMatchResult.FT_SUCCESS) {
int nID = res.getTemplateID();
jStatusLabel.setText("Verificação foi um successo! Template ID = "
+ String.valueOf(nID));
}
else {
jStatusLabel.setText("Verificatção falhou!");
}
enableButtons(true);
//theVerification.verify(regTemplates, "verification thread");
break;
case DpFpEventHandler.EVT_IDENTIFICATION_COMPLETE: {
// after identification check result and set appropriate message
//depois que resultado de cheque de identificação e põe apropria-se mensagem
// to the status label: //À etiqueta de estado:
DpFpMatchResult[] results = (DpFpMatchResult[]) param;
if (results.length > 0) {
int nID = results[0].getTemplateID();
jStatusLabel
.setText("Identification successful! Number of results got="
+ results.length
+ ", id of the 1-static result = " + nID);
}
btnVerifyEnabled = true;
btnIdentEnabled = true;
}
enableButtons(true);
// theIdentification.setSearchLevel(cbSearchLevel.getSelectedIndex());
// theIdentification.identify(regTemplates, "identification
// thread");
break;
default:
}
return;
}