O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Biometria

Guia do usuário  Amostra de código (link em inglês)
Faça a autenticação com biometria ou credenciais do dispositivo e execute operações criptográficas.
Atualização mais recente Versão estável atual Próximo candidato a lançamento Versão Beta Versão Alfa
19 de agosto de 2020 1.0.1 - - 1.1.0-alpha02

Como declarar dependências

Para adicionar uma dependência ao 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:

    dependencies {
        implementation "androidx.biometric:biometric:1.0.1"
      }
    

Para ver mais informações sobre dependências, consulte Adicionar dependências de compilação.

Feedback

Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas existentes nesta biblioteca antes de criar um novo. Adicione seu voto a um problema existente clicando no botão de estrela.

Criar uma nova edição

Consulte a documentação do Issue Tracker para saber mais.

Versão 1.1.0

Versão 1.1.0-alpha02

19 de agosto de 2020

Lançamento do androidx.biometric:biometric:1.1.0-alpha02. A versão 1.1.0-alpha02 contém essas confirmações (link em inglês).

Novos recursos

  • O BiometricManager#canAuthenticate() agora pode retornar BIOMETRIC_STATUS_UNKNOWN para indicar que o usuário ainda pode conseguir fazer a autenticação, ou BIOMETRIC_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 um CryptoObject associado apenas no Android 11 (API de nível 30) e versões mais recentes.

Mudanças na API

Correções de bugs

  • Correção de vazamentos de memória relatados pel LeakCanary em BiometricFragment e BiometricViewModel. (b/144919472)
  • Garantia de que BiometricViewModel não chamará mais MutableLiveData#setValue() de 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 e BiometricPrompt 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 essas 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.

Correções de bugs

  • Avisos de suspensão de uso relacionados ao uso de FingerprintManagerCompat (b/142967618, link em inglês)
  • 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, link em inglês).
  • As dependências do Gradle que não fazem parte da API pública não são mais exportadas pela biblioteca (f289d9e, link em inglês).

Versão 1.0.1

Versão 1.0.1

18 de dezembro de 2019

Lançamento de androidx.biometric:biometric:1.0.1. A versão 1.0.1 contém essas confirmações (link em inglês).

Correções de bugs

  • Extensão da solução alternativa de substituição de impressão digital existente para a autenticação baseada em criptografia de fornecedores afetados conhecidos, apenas para a API 28 (b/143361271, link em inglês)
  • 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, link em inglês)
  • Correção de vários problemas com setDeviceCredentialAllowed(true) (b/143091227, b/143097321, b/143653944, links em inglês)
  • 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, link em inglês)
  • 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, link em inglês)
  • 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, link em inglês)
  • Correção de uma possível NullPointerException em BiometricFragment (b/142599311, link em inglês)

Versão 1.0.0

Versão 1.0.0

7 de novembro de 2019

Lançamento de androidx.biometric:biometric:1.0.0 sem alterações desde 1.0.0-rc02. A versão 1.0.0 contém essas confirmações (link em inglês).

Principais recursos de 1.0.0

  • Versão de compatibilidade das APIs BiometricPrompt e BiometricManager, 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 em Fragment ou FragmentActivity
  • 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

Lançamento de androidx.biometric:biometric:1.0.0-rc02. A versão 1.0.0-rc02 contém essas confirmações (link em inglês).

Correções de bugs

  • Adição de uma solução alternativa para determinados dispositivos que são 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, link em inglês)

Versão 1.0.0-rc01

9 de outubro de 2019

Lançamento de androidx.biometric:biometric:1.0.0-rc01. A versão 1.0.0-rc01 contém essas 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, link em inglês)
  • Correção de um problema em que receber um AuthenticationResult nulo da API de framework pode causar uma falha (b/138862251, link em inglês)
  • Correção de falhas causadas por dispensa de BiometricPrompt depois de onSaveInstanceState() (b/138825362, b/140447194, links em inglês)

Versão 1.0.0-beta02

18 de setembro de 2019

Lançamento de androidx.biometric:biometric:1.0.0-beta02. A versão 1.0.0-beta02 contém essas confirmações (link em inglês).

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, link em inglês)
  • FingerprintHelperFragment agora gera corretamente ERROR_HW_NOT_PRESENT quando nenhum hardware de impressão digital é detectado (b/140427586, link em inglês)

Versão 1.0.0-beta01

29 de agosto de 2019

Lançamento de androidx.biometric:biometric:1.0.0-beta01. A versão 1.0.0-beta01 contém essas 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:

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. 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, link em inglês)
  • Consulte a seção "Novos recursos" acima.

Correções de bugs

  • Adição de compatibilidade para L+ com credencial do dispositivo BiometricPrompt
  • Correção de BiometricPrompt para usar constantes de erro públicas (b/137788194, link em inglês)
  • Correção de NullPointerException em BiometricPrompt.onAttach() (b/136103103, link em inglês)
  • Mudança de comportamento para não permitir que o BiometricPrompt seja cancelado por um evento de toque fora do prompt (b/135684487, link em inglês)
  • Correção de falha de onAuthenticationError quando um valor de erro nulo é retornado no Kotlin (b/128350861, link em inglês)
  • FingerprintDialogFragment agora pode ser habilitado para estilo (b/127878106, link em inglês)
  • FingerprintDialog agora é rolável (b/126367887, link em inglês)
  • Correção do bug em que a rotação da caixa de diálogo biométrica gera um IllegalStateException (b/124153656), (b/123811924) (links em inglês)
  • Correção do comportamento inconsistente nas APIs de nível 23 a 27. (b/124066957, link em inglês)
  • Correção do problema em que a caixa de diálogo de login de impressão digital lia um texto incorreto usando o Talkback. (b/123572331, link em inglês)

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, link em inglês)
  • Correção de BiometricPrompt que permite apenas uma instância de BiometricPrompt.AuthenticationCallback (b/123857949, link em inglês)
  • Correção do comportamento de erro de BiometricPrompt, inconsistente entre o sistema e as versões compatíveis. (b/123572326, link em inglês)
  • Correção do callback onAuthenticationError() com @NotNull errString que causa uma NullPointerException no momento da execução (b/123167217, link em inglês)
  • Correção do androidx.BiometricPrompt de falhas do botão Cancelar (b/122054485, link em inglês)
  • Correção do androidx.biometric.PromptInfo do título/descrição não modificado no Android P (b/122856773, link em inglês)

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.