Biometric
Atualização mais recente | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
7 de agosto de 2024 | 1.1.0 | - | - | 1.4.0-alpha02 |
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-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
PromptContentView
permite que os desenvolvedores mostrem a visualização de conteúdo personalizada como uma opção adicional da visualização de texto de descrição simples.- O logotipo do app no comando biométrico é mostrado automaticamente e é adicionado usando o ícone do app.
Mudanças na API
- Adicionar APIs para oferecer suporte à visualização de conteúdo personalizado
BiometricPrompt.PromptInfo.Builder#setContentView
BiometricPrompt.PromptInfo#getContentView
- Interface do
PromptContentView
- Classe
PromptVerticalListContentView
- Classe
PromptContentViewWithMoreOptionsButton
(somente para apps privilegiados)
- Adicionar APIs para dar suporte ao logotipo (apenas para apps privilegiados)
BiometricPrompt.PromptInfo.Builder#setLogoBitmap
BiometricPrompt.PromptInfo.Builder#setLogoRes
BiometricPrompt.PromptInfo.Builder#setLogoDescription
BiometricPrompt.PromptInfo#getLogoBitmap
BiometricPrompt.PromptInfo#getLogoRes
BiometricPrompt.PromptInfo#getLogoDescription
58c35c6 (link em inglês)
Correções de bugs
- Atualize o
compileSdk
para 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
. Esta versão é desenvolvida em uma ramificação interna e é destinada ao Android 15 Beta 2.
Correções de bugs
- Atualização da interface 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
CryptoObject
paraandroid.security.identity.PresentationSession
no 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
BiometricPrompt
hospedado 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
AuthPrompt
que 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
AuthPrompt
com 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
AuthPrompt
definidos 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ãoAuthenticationResult
diretamente 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
BiometricPrompt
era 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
AuthPrompt
para criar umaBiometricPrompt
e executar a autenticação. Essas APIs não exigem que aBiometricPrompt
seja criada em um callback de ciclo de vida antecipado, comoonCreate
(I19022). - Adição de extensões Kotlin a
Fragment
eFragmentActivity
para 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).
BiometricPrompt
agora 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
BiometricPrompt
causava uma falha em alguns dispositivos Android 9 sem um sensor de impressão digital (b/151443237). - Correção de uma possível
NullPointerException
noFingerprintDialogFragment
(b/142599311). - Correção de um problema em que o tipo
CryptoObject
incorreto era usado para uma invocação do método reflexivo noBiometricManager
(b/165824669). - Correção de um problema em que
BiometricPrompt
era 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_UNKNOWN
para indicar que o usuário ainda pode conseguir fazer a autenticação, ouBIOMETRIC_ERROR_UNSUPPORTED
para 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 umCryptoObject
associado apenas no Android 11 (API de nível 30) e versões mais recentes.
Mudanças na API
- Agora o fornecimento de um
Executor
explícito ao construir uma instância deBiometricPrompt
é opcional (I6bb8a). - Adição do método
BiometricManager#canAuthenticate(int)
a partir do Android 11 (Ia3f1c). BiometricPrompt
foi atualizado para adicionar compatibilidade com as constantesBiometricManager.Authenticators
a 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_REQUIRED
a partir do Android 11 (I6610b). - Atualização de
BiometricPrompt.CryptoObject
para oferecer compatibilidade comIdentityCredential
apenas 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
BiometricFragment
eBiometricViewModel
foram corrigidos (b/144919472). - Garantia de que
BiometricViewModel
não chamará maisMutableLiveData#setValue()
em uma linha de execução em segundo plano (b/159983244). - Correção de um problema em que o
BiometricPrompt
não estava gerenciando corretamente o bloqueio temporário em alguns níveis de API (9acfce9). - Correção de um problema em que
BiometricPrompt
retornava 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
BiometricManager
eBiometricPrompt
retornavam 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
ViewModel
que 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
onAuthenticationSuccess
nem 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
onAuthenticationError
nem 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
NullPointerException
emBiometricFragment
(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
BiometricPrompt
eBiometricManager
, 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
BiometricPrompt
emFragment
ouFragmentActivity
- 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
FingerprintDialogFragment
ao dispensá-la enquanto a tela estava girando (b/141356362). - Correção de um problema em que receber um
AuthenticationResult
nulo da API de framework podia causar uma falha (b/138862251). - Correção de falhas causadas por dispensa de
BiometricPrompt
depois 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).
FingerprintHelperFragment
agora gera corretamenteERROR_HW_NOT_PRESENT
quando 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#canAuthenticate
BiometricPrompt.PromptInfo#setConfirmationRequired
BiometricPrompt.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
NullPointerException
emBiometricPrompt.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
BiometricPrompt
que 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 errString
que causa umaNullPointerException
no momento da execução (b/123167217). - Correção do
androidx.BiometricPrompt
de falhas do botão Cancelar (b/122054485). - Correção do
androidx.biometric.PromptInfo
do 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.