2017-08-17 5 views
2

J'ai implémenté la fonctionnalité de lecteur d'empreintes digitales en utilisant le nom de code un. Sur un événement de formulaire, j'ai écrit le code ci-dessous.Comment arrêter l'événement de lecteur d'empreintes digitales

Fingerprint.scanFingerprint(value -> { 
    Log.p("Scan successfull!"); 
    showForm("Home",null); 
}, (sender, err, errorCode, errorMessage) -> { 
    Log.p("Scan Failed!"); 
    showForm("Login",null); 
}); 

Après doigt succesful balayage d'impression sous forme « Home » sera affiché open.But après l'événement du scanner de forme à domicile toujours actif en arrière-plan quand je mets mon doigt sur le scanner il scanne les empreintes digitales et fait à nouveau la même chose. Je dois arrêter l'analyse d'empreinte digitale suite à un balayage réussi ou échoué. Quelle est la solution pour cela?

Répondre

1

Le problème n'est pas le scanner d'empreintes digitales, mais l'événement post-exposition de votre formulaire.

Vous devez supprimer le programme d'écoute d'émission que vous appelez le lecteur d'empreintes digitales de tous les programmes d'écoute d'émission, si les autres fonctions ne dépendent pas de cet écouteur.

myForm.addShowListener(new ActionListener() { 
    @Override 
    public void actionPerformed(ActionEvent evt) { 
     myForm.removeShowListener(this);//or myForm.removeAllShowListeners() 
     Fingerprint.scanFingerprint(value -> { 
      Log.p("Scan successfull!"); 
      showForm("Home",null); 
     }, (sender, err, errorCode, errorMessage) -> { 
      Log.p("Scan Failed!"); 
      showForm("Login",null); 
     }); 
    } 
}); 
+0

ne fonctionne toujours pas ... obtenir le même problème. –

+0

Pouvez-vous partager un extrait de la façon dont vous utilisez actuellement Fingerprint? – Diamond

+0

Vous pouvez toujours retourner un indicateur "ignorer" après l'analyse. Sur quel système d'exploitation cela se passe-t-il? –