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 = trueexige biometria (sem cair para PIN/senha do sistema);falsepermite 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
ERRORe para quandoisAvailable()forfalse.
Erros comuns
- Tratar só
SUCCESSe ignorarCANCELLED/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?Obrigado pelo feedback!