Biometric
| Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 20 de maio de 2025 | 1.1.0 | - | - | 1.4.0-alpha04 |
Declarar dependências
Para adicionar uma dependência a Biometric, adicione o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários no arquivo build.gradle para
seu app ou módulo:
Groovy
dependencies { // Java language implementation implementation "androidx.biometric:biometric:1.1.0" // Kotlin implementation "androidx.biometric:biometric-ktx:1.4.0-alpha02" }
Kotlin
dependencies { // Java language implementation implementation("androidx.biometric:biometric:1.1.0") // Kotlin implementation("androidx.biometric:biometric:1.4.0-alpha02") }
Para ver mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.4
Versão 1.4.0-alpha04
20 de maio de 2025
Lançamento de androidx.biometric:biometric:1.4.0-alpha04. A versão 1.4.0-alpha04 contém estas confirmações.
Novos recursos
- Sempre use a API
KeyguardManagerinternamente para apps para Wear OS (I9b7fd).
Mudanças na API
- Adição de um bit de autenticador privilegiado
IDENTITY_CHECK(I706bb).
Versão 1.4.0-alpha03
26 de março de 2025
Lançamento de androidx.biometric:biometric:1.4.0-alpha03. A versão 1.4.0-alpha03 contém estas confirmações.
Novos recursos
- Introdução de uma nova API
registerForAuthenticationResult()de ponto de entrada de autenticação para substituir o móduloandroidx.biometric:biometric-ktxe oandroidx.BiometricPrompt. Essa nova API é modelada de acordo com a API Activity Result e oferece compatibilidade perfeita com o desenvolvimento em Kotlin e Java.
Mudanças na API
ERROR_MORE_OPTIONS_BUTTONfoi renomeado comoERROR_CONTENT_VIEW_MORE_OPTIONS_BUTTON(I71d07).- A anotação
@Deprecatedfoi adicionada aIdentityCredentialpara manter a consistência com o framework. (I6ac90, b/140252778, b/217942278, b/251211046, b/239955609). - [1/3] Remoção de biometric.auth e da biblioteca kotlin, que serão reformuladas. (I2f67c).
- [2/3] Adicionar
AuthenticationRequestcomo entrada de autenticação eAuthenticationResultcomo tipo de resultado de autenticação. Há dois tipos deAuthenticationRequest, com builders. (I50fd9).BiometricRequestpara autenticação biométrica com diferentesStrengtheFallbackopcional.CredentialRequestpara autenticação somente de credenciais do dispositivo.
- [3/3] Foram adicionadas novas APIs de padrão de resultado de atividade para o módulo biométrico. Especifique uma API de registro chamada
registerForAuthenticationResult(), que registraAuthenticationResultCallbackeonAuthenticationFailedCallbackopcional e gera umAuthenticationResultLauncherpara iniciar a autenticação com todas as entradas. (I2b06e).
Correções de bugs
- Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar o seguinte argumento do compilador para aplicar o uso correto:
-Xjspecify-annotations=strict(este é o padrão a partir da versão 2.1.0 do compilador Kotlin). (Ib49b4, b/326456246). - Correção de um problema em que não era possível instanciar o fragmento
androidx.biometric.FingerprintDialogFragment(I51c4a, b/181805603). - Correção de um problema em que o
BiometricPromptnão era dispensado quando o botão "Início" do dispositivo era pressionado (I8c393, I0ca8c, b/149770989). - Correção de inconsistências no código de erro para desativar a autenticação biométrica de apps na API 34/35. (Ice99d, b/386918213).
- Aplique a força de biometrias fortes em dispositivos mais antigos para autenticações combinadas. (Ibb853, I5cfb3, b/257670132).
Versão 1.4.0-alpha02
7 de agosto de 2024
Lançamento de androidx.biometric:biometric:1.4.0-alpha02 e androidx.biometric:biometric-ktx:1.4.0-alpha02. A versão 1.4.0-alpha02 contém estas confirmações.
Novos recursos
PromptContentViewpermite que os desenvolvedores mostrem a visualização de conteúdo personalizada como uma opção adicional de visualização de texto de descrição simples- O logotipo do app no comando de autenticação biométrica é mostrado. Ele é adicionado automaticamente usando o ícone do aplicativo.
Mudanças na API
- Adição de APIs para oferecer suporte à visualização de conteúdo personalizada
BiometricPrompt.PromptInfo.Builder#setContentViewBiometricPrompt.PromptInfo#getContentView- Interface
PromptContentView - Classe
PromptVerticalListContentView - Classe
PromptContentViewWithMoreOptionsButton(somente para apps privilegiados)
- Adição de APIs para oferecer suporte ao logotipo (apenas para apps privilegiados)
BiometricPrompt.PromptInfo.Builder#setLogoBitmapBiometricPrompt.PromptInfo.Builder#setLogoResBiometricPrompt.PromptInfo.Builder#setLogoDescriptionBiometricPrompt.PromptInfo#getLogoBitmapBiometricPrompt.PromptInfo#getLogoResBiometricPrompt.PromptInfo#getLogoDescription58c35c6
Correções de bugs
- Atualização de
compileSdkpara 35 5dc41be
Versão 1.4.0-alpha01
29 de maio de 2024
Lançamento de androidx.biometric:biometric:1.4.0-alpha01 e androidx.biometric:biometric-ktx:1.4.0-alpha01. Essa versão foi desenvolvida em um branch interno e é destinada ao Android 15 Beta 2.
Correções de bugs
- A interface foi atualizada para ser consistente com as mudanças da plataforma no Android 15.
Versão 1.2.0
Versão 1.2.0-alpha05
21 de setembro de 2022
Lançamento de androidx.biometric:biometric:1.2.0-alpha05 e androidx.biometric:biometric-ktx:1.2.0-alpha05. A versão 1.2.0-alpha05 contém estas confirmações.
Mudanças na API
- Adição de suporte ao
CryptoObjectparaandroid.security.identity.PresentationSessionno Android 13 (C5f1ec, b/197965513).
Correções de bugs
- As variantes de recursos desnecessárias foram removidas para reduzir o tamanho da biblioteca (I3601e, b/220178553).
- O problema do
BiometricPrompthospedado em contextos de não atividade foi corrigido (Ife255).
Versão 1.2.0-alpha04
17 de novembro de 2021
Lançamento de androidx.biometric:biometric:1.2.0-alpha04 e androidx.biometric:biometric-ktx:1.2.0-alpha04. A versão 1.2.0-alpha04 contém estas confirmações.
Novos recursos
- O suporte de BiometricPrompt foi aprimorado para fragmentos hospedados por contextos de não atividade (I9312b).
Mudanças na API
- Foi adicionado suporte para a API BiometricManager.Strings do Android 12 (I12f2d).
- Mudança da compatibilidade de origem e destino do Java 7 para o Java 8 (I16129).
Correções de bugs
- Correção de um problema na API 29 em que alguns dispositivos (incluindo emuladores) recebiam um erro de cancelamento ao retornar ao PIN/padrão/senha. Observação: em alguns dispositivos com a API 29, o bloqueio de tela pode ser solicitado ao usuário, mesmo que uma biometria esteja disponível e registrada (b/142740104).
- Um problema na API 29, em que dispositivos sem hardware biométrico não retornavam corretamente ao PIN/padrão/senha, foi corrigido (b/170517889).
Versão 1.2.0-alpha03
24 de fevereiro de 2021
Lançamento de androidx.biometric:biometric:1.2.0-alpha03 e androidx.biometric:biometric-ktx:1.2.0-alpha03. A versão 1.2.0-alpha03 contém estas confirmações.
Mudanças na API
- Adição de extensões de corrotinas de suspensão para CredentialAuthPrompt parecidas com as de outros tipos de AuthPrompt (I9ac70).
Versão 1.2.0-alpha02
27 de janeiro de 2021
Lançamento de androidx.biometric:biometric:1.2.0-alpha02 e androidx.biometric:biometric-ktx:1.2.0-alpha02. A versão 1.2.0-alpha02 contém estas confirmações.
Mudanças na API
- Refatoração de alguns campos
AuthPromptque antes eram definidos por um builder em argumentos de métodostartAuthentication(...)(I18896, b/174098373). - Acréscimo de requisitos mínimos de nível de API para tipos
AuthPromptcom compatibilidade limitada ou não compatíveis com versões mais antigas do Android (I18896). - Adição de métodos getter para todos os campos
AuthPromptdefinidos por um builder (I18896). - Acréscimo de extensões de corrotinas do Kotlin de suspensão para autenticação biométrica usando as APIs
AuthPrompt. Essas funções retornarãoAuthenticationResultdiretamente em caso de sucesso ou gerarão uma exceção quando houver um erro ou uma falha (rejeição da credencial) (Iffc9e).
Correções de bugs
- Correção de um problema em que o
BiometricManager.canAuthenticate(int)às vezes retornava o código de status errado para um dispositivo com sensor de impressão digital no Android 10 (API de nível 29) (I72420, b/176921662). - Correção de um problema em que o
BiometricManager.canAuthenticate(int)retornava o código de status errado para um dispositivo sem hardware biométrico, bem como sem PIN, padrão ou senha inscritos no Android 10 (API de nível 29) e em versões anteriores do SDK (I79b7d, b/174505824). - Correção de um vazamento de memória que ocorria quando
BiometricPromptera hospedado em um fragmento com ciclo de vida mais curto que a atividade associada a ele (I70864, b/167014923).
Versão 1.2.0-alpha01
2 de dezembro de 2020
Lançamento de androidx.biometric:biometric:1.2.0-alpha01 e androidx.biometric:biometric-ktx:1.2.0-alpha01. A versão 1.2.0-alpha01 contém estas confirmações.
Novos recursos
- Introdução do módulo
androidx.biometric:biometric-ktx, que adiciona APIs e extensões específicas do Kotlin sobre oandroidx.biometric:biometric.
Mudanças na API
- Adição de novas APIs
AuthPromptpara criar umaBiometricPrompte executar a autenticação. Essas APIs não exigem que aBiometricPromptseja criada em um callback de ciclo de vida antecipado, comoonCreate(I19022). - Adição de extensões Kotlin a
FragmenteFragmentActivitypara as novas APIsAuthPrompt(Iaf98c).
Versão 1.1.0
Versão 1.1.0
27 de janeiro de 2021
Lançamento de androidx.biometric:biometric:1.1.0. A versão 1.1.0 contém estas confirmações.
Principais mudanças desde a versão 1.0.0
- Adição de compatibilidade com versões anteriores para novos recursos e atualizações de API de autenticação biométrica lançados no Android 11.
- Redução significativa no tamanho da ocupação do app da biblioteca (de mais de 100 KB em alguns casos).
- Remoção de várias fontes de vazamentos de memória causados anteriormente pela biblioteca.
- Correção de falhas de verificação de classe que podiam afetar o desempenho nas versões mais antigas do Android.
- Várias melhorias adicionais na estabilidade e no comportamento da biblioteca.
Versão 1.1.0-rc01
11 de novembro de 2020
androidx.biometric:biometric:1.1.0-rc01 é lançado. A versão 1.1.0-rc01 contém estas confirmações.
Correções de bugs
- Correção de um problema em alguns dispositivos em que determinadas ações (autenticação, cancelamento etc.) às vezes geravam uma
NullPointerException(b/151316421). - Correção de um problema em que alguns dispositivos Pixel informavam o status incorreto ao usar
BiometricManager#canAuthenticate(int)para verificar a biometria de Classe 3 no Android 10 (b/170406186).
Versão 1.1.0-beta01
1º de outubro de 2020
androidx.biometric:biometric:1.1.0-beta01 é lançado. A versão 1.1.0-beta01 contém estas confirmações.
Novos recursos
- Redução significativa do tamanho da ocupação do APK da biblioteca (em alguns casos, com mais de 100 KB compactados) ao substituir as animações da caixa de diálogo por recursos estáticos no Android 8.1 e versões anteriores (I4844e).
BiometricPromptagora volta automaticamente à autenticação de credencial do dispositivo, se permitido, em todas as versões compatíveis do Android quando a autenticação biométrica está bloqueada (b/149579143).
Correções de bugs
- Correção de um problema em que
BiometricPromptcausava uma falha em alguns dispositivos Android 9 sem um sensor de impressão digital (b/151443237). - Correção de uma possível
NullPointerExceptionnoFingerprintDialogFragment(b/142599311). - Correção de um problema em que o tipo
CryptoObjectincorreto era usado para uma invocação do método reflexivo noBiometricManager(b/165824669). - Correção de um problema em que
BiometricPromptera exibida novamente logo após ser dispensada, o que causava a dispensa automática da nova solicitação em alguns dispositivos Android 10 (b/157783075). - Correção de vazamentos de memória relacionados ao uso de
FingerprintManagerCompat(b/165840273). - Correção de problemas com a IU da caixa de diálogo de impressão digital sendo ocultada ou exibida incorretamente em alguns dispositivos Android 9 (b/154868505, b/148350291).
Versão 1.1.0-alpha02
19 de agosto de 2020
androidx.biometric:biometric:1.1.0-alpha02 é lançado. A versão 1.1.0-alpha02 contém estas confirmações.
Novos recursos
- O
BiometricManager#canAuthenticate()agora pode retornarBIOMETRIC_STATUS_UNKNOWNpara indicar que o usuário ainda pode conseguir fazer a autenticação, ouBIOMETRIC_ERROR_UNSUPPORTEDpara indicar que uma determinada combinação de autenticador não é compatível com o dispositivo. - O
BiometricPrompt#authenticate()agora pode ser usado para autenticação de credenciais do dispositivo com umCryptoObjectassociado apenas no Android 11 (API de nível 30) e versões mais recentes.
Mudanças na API
- Agora o fornecimento de um
Executorexplícito ao construir uma instância deBiometricPrompté opcional (I6bb8a). - Adição do método
BiometricManager#canAuthenticate(int)a partir do Android 11 (Ia3f1c). BiometricPromptfoi atualizado para adicionar compatibilidade com as constantesBiometricManager.Authenticatorsa partir do Android 11 (I39bd8).- Adição do método
BiometricPrompt.AuthenticationResult#getAuthenticationType()a partir do Android 11 (Icfad5). - Adição do código de erro
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIREDa partir do Android 11 (I6610b). - Atualização de
BiometricPrompt.CryptoObjectpara oferecer compatibilidade comIdentityCredentialapenas no Android 11 (API de nível 30) e versões mais recentes (I1d9f6).
Correções de bugs
- Os vazamentos de memória relatados pelo LeakCanary em
BiometricFragmenteBiometricViewModelforam corrigidos (b/144919472). - Garantia de que
BiometricViewModelnão chamará maisMutableLiveData#setValue()em uma linha de execução em segundo plano (b/159983244). - Correção de um problema em que o
BiometricPromptnão estava gerenciando corretamente o bloqueio temporário em alguns níveis de API (9acfce9). - Correção de um problema em que
BiometricPromptretornava o código de erro incorreto para um dispositivo não protegido com uma credencial de bloqueio de tela em alguns níveis da API (b/148626482). - Correção de um problema em que
BiometricManagereBiometricPromptretornavam os códigos de erro incorretos para um dispositivo sem implementação de proteção de teclado em alguns níveis da API (891c6e0).
Versão 1.1.0-alpha01
24 de junho de 2020
androidx.biometric:biometric:1.1.0-alpha01 é lançado. A versão 1.1.0-alpha01 contém estas confirmações.
Novos recursos
- Refatorada a implementação da biblioteca interna para resolver possíveis origens de vazamentos de memória e outros comportamentos indesejados:
- Os fragmentos internos agora compartilham e mantêm dados usando um
ViewModelque está vinculado ao ciclo de vida do aplicativo cliente. - A autenticação de credencial do dispositivo anterior ao Android 10 (API de nível 29) não inicia mais uma atividade transparente no aplicativo cliente.
- Os fragmentos internos agora compartilham e mantêm dados usando um
Correções de bugs
- Avisos de suspensão de uso relacionados ao uso de
FingerprintManagerCompat(b/142967618). - Alteração de como os métodos de plataforma controlados pelo SDK são chamados para evitar problemas de verificação de classe em versões mais antigas do Android (94beb4b).
- As dependências do Gradle que não fazem parte da API pública não são mais exportadas pela biblioteca (f289d9e).
Versão 1.0.1
Versão 1.0.1
18 de dezembro de 2019
androidx.biometric:biometric:1.0.1 é lançado. A versão 1.0.1 contém estas confirmações.
Correções de bugs
- Uma solução alternativa de substituição de impressão digital já existente foi estendida para a autenticação baseada em criptografia de fornecedores afetados conhecidos, apenas para a API 28 (b/143361271).
- Correção de um problema em alguns dispositivos em que a caixa de diálogo de biometria era mostrada sob uma sobreposição do sistema (b/143230260).
- Correção de vários problemas com
setDeviceCredentialAllowed(true)(b/143091227, b/143097321, b/143653944). - Correção de um problema em algumas versões do Android em que
onAuthenticationSuccessnem sempre era chamado após o usuário confirmar a credencial do dispositivo (b/145232806). - Correção de um problema em algumas versões do Android em que
onAuthenticationErrornem sempre era chamado quando o prompt era dispensado na rotação (b/145230042). - Correção de um problema em algumas versões do Android em que o prompt não era dispensado ao receber determinados códigos de erro (b/143683687).
- Correção de uma possível
NullPointerExceptionemBiometricFragment(b/142599311).
Versão 1.0.0
Versão 1.0.0
7 de novembro de 2019
androidx.biometric:biometric:1.0.0 é lançado sem mudanças desde 1.0.0-rc02. A versão 1.0.0 contém estas confirmações (link em inglês).
Principais recursos de 1.0.0
- Versão de compatibilidade das APIs
BiometricPrompteBiometricManager, conforme implementadas no Android 10, com compatibilidade total com o recurso para o Android 6.0 (API 23) - Gerenciamento de ciclo de vida integrado para
BiometricPromptemFragmentouFragmentActivity - Processamento especial para dispositivos conhecidos por apresentarem incorretamente biometria fraca durante a autenticação baseada em criptografia
Versão 1.0.0-rc02
23 de outubro de 2019
androidx.biometric:biometric:1.0.0-rc02 é lançado. A versão 1.0.0-rc02 contém estas confirmações.
Correções de bugs
- Uma solução alternativa foi adicionada para determinados dispositivos conhecidos por fornecer incorretamente uma biometria fraca quando a autenticação baseada em criptografia é invocada nas versões 28 e 29 da API (b/142150327).
Versão 1.0.0-rc01
9 de outubro de 2019
androidx.biometric:biometric:1.0.0-rc01 é lançado. A versão 1.0.0-rc01 contém estas confirmações (link em inglês).
Correções de bugs
- Correção de uma possível falha com
FingerprintDialogFragmentao dispensá-la enquanto a tela estava girando (b/141356362). - Correção de um problema em que receber um
AuthenticationResultnulo da API de framework podia causar uma falha (b/138862251). - Correção de falhas causadas por dispensa de
BiometricPromptdepois deonSaveInstanceState()(b/138825362, b/140447194).
Versão 1.0.0-beta02
18 de setembro de 2019
androidx.biometric:biometric:1.0.0-beta02 é lançado. A versão 1.0.0-beta02 contém estas confirmações.
Correções de bugs
- Correção de problemas de compatibilidade com credenciais de dispositivos na versão
1.0.0-beta01. - Dependências do Java 8 foram removidas e alternadas para o Java 7 (b/140508526).
FingerprintHelperFragmentagora gera corretamenteERROR_HW_NOT_PRESENTquando nenhum hardware de impressão digital é detectado (b/140427586).
Versão 1.0.0-beta01
29 de agosto de 2019
androidx.biometric:biometric:1.0.0-beta01 é lançado. A versão 1.0.0-beta01 contém estas confirmações (link em inglês).
Novos recursos
Introduzimos um segundo construtor para BiometricPrompt que permite que ele seja hospedado em um Fragment (em oposição ao construtor existente, que requer um FragmentActivity).
Também estamos animados em trazer a seguinte funcionalidade do Android 10 para a biblioteca Biometric do AndroidX:
BiometricManager#canAuthenticateBiometricPrompt.PromptInfo#setConfirmationRequiredBiometricPrompt.PromptInfo#setDeviceCredentialAllowed
No Android 10, a biblioteca invocará os métodos correspondentes da API da plataforma. Em níveis mais antigos da API, a biblioteca simulará o comportamento.
Mudanças na API
- Adição de construtor específico de fragmento para solicitação biométrica (b/131980596).
- Consulte a seção "Novos recursos" acima.
Correções de bugs
- Foi adicionado suporte a L+ com credencial do dispositivo BiometricPrompt.
- Correção de BiometricPrompt para usar constantes de erro públicas (b/137788194).
- Correção de
NullPointerExceptionemBiometricPrompt.onAttach()(b/136103103). - Mudança de comportamento para não permitir que o BiometricPrompt seja cancelado por um evento de toque fora do prompt (b/135684487).
- Correção de falha de onAuthenticationError quando um valor de erro nulo é retornado no Kotlin (b/128350861).
- FingerprintDialogFragment agora pode ser habilitado para estilo (b/127878106).
- FingerprintDialog agora é rolável (b/126367887).
- Correção de um bug em que a rotação da caixa de diálogo biométrica gera um
IllegalStateException(b/124153656, b/123811924). - Correção do comportamento inconsistente nas APIs de nível 23 a 27 (b/124066957).
- Correção de um problema em que a caixa de diálogo de login de impressão digital lia um texto incorreto usando o Talkback (b/123572331).
Versão 1.0.0-alpha04
3 de abril de 2019
Lançamento de androidx.biometric:biometric:1.0.0-alpha04. As confirmações incluídas nessa versão podem ser encontradas aqui (link em inglês).
Correções de bugs
- Correção de fragmentos Biometric que não são limpos em todos os casos (b/121117380).
- Correção de
BiometricPromptque permite apenas uma instância deBiometricPrompt.AuthenticationCallback(b/123857949). - Correção do comportamento de erro de
BiometricPrompt, inconsistente entre o sistema e as versões compatíveis (b/123572326). - Correção do callback
onAuthenticationError()com@NotNull errStringque causa umaNullPointerExceptionno momento da execução (b/123167217). - Correção do
androidx.BiometricPromptde falhas do botão Cancelar (b/122054485). - Correção do
androidx.biometric.PromptInfodo título/descrição não modificado no Android P (b/122856773).
Versão 1.0.0-alpha03
17 de dezembro de 2018
Correções de bugs
- Correção de problemas relacionados a fragmentos.
- Nos dispositivos O e anteriores, os erros de bloqueio são retornados imediatamente, para manter a consistência com a versão P e posterior.