Pular para o conteúdo
CrossFly é 100% open sourceSiga no GitHub
CrossFlyCrossFly
Começar

Biometria

Autenticação por digital/face de forma portável, com Biometry. O resultado chega assíncrono por callback — despache para a UI com onUI(...).

Uso

if (!Biometry.isAvailable()) {
   loginPorSenha();               // fallback quando não há biometria
   return;
}
Biometry.authenticate(
   "Confirme sua identidade",     // reason (mostrado ao usuário)
   "Cancelar",                    // texto do botão cancelar
   false,                         // onlyBiometric: false = permite PIN do sistema como fallback
   (resultado, mensagem) -> Component.onUI(() -> {
      switch (resultado) {
         case SUCCESS:   abrirAreaSegura(); break;
         case FAILURE:   Hint.show("Não reconhecido", 2000); break;
         case CANCELLED: /* usuário desistiu */ break;
         case ERROR:     Hint.show("Erro: " + mensagem, 2000); loginPorSenha(); break;
      }
   })
);

API

Membro Assinatura
Biometry.isAvailable() static boolean — há hardware/biometria cadastrada?
Biometry.authenticate(...) static void (String reason, String cancel, boolean onlyBiometric, Callback)
Callback.onResult(...) (AuthResult result, String message)
AuthResult SUCCESS · FAILURE · CANCELLED · ERROR
  • onlyBiometric = true exige biometria (sem cair para PIN/senha do sistema); false permite o fallback do SO.

Segurança

  • Os dados biométricos nunca saem do dispositivo — o app recebe apenas SUCCESS/FAILURE/etc., jamais a digital/face em si.
  • Sempre ofereça um fallback de aplicação (login/senha) para ERROR e para quando isAvailable() for false.

Erros comuns

  • Tratar só SUCCESS e ignorar CANCELLED/ERROR (usuário fica preso).
  • Tocar na UI direto no callback — ele vem fora da paint thread; use onUI(...).
  • Não ter caminho alternativo quando não há biometria.

Veja também

Esta página foi útil?