Biometric
Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
7 de agosto de 2024 | 1.1.0 | - | - | 1.4.0-alpha02 |
Cómo declarar dependencias
Para agregar una dependencia en Biometric, debes agregar el repositorio Maven de Google a tu proyecto. Consulta el repositorio Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o 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 obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.4
Versión 1.4.0-alpha02
7 de agosto de 2024
Lanzamiento de androidx.biometric:biometric:1.4.0-alpha02
y androidx.biometric:biometric-ktx:1.4.0-alpha02
. La versión 1.4.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
PromptContentView
permite que los desarrolladores muestren la vista de contenido personalizado como una opción adicional de la vista de texto descriptivo sin formato- Se muestra el logotipo de la app en el mensaje biométrico, que se agrega automáticamente con el ícono de la aplicación.
Cambios en la API
- Agrega APIs para admitir la vista de contenido personalizado
BiometricPrompt.PromptInfo.Builder#setContentView
BiometricPrompt.PromptInfo#getContentView
- Interfaz de
PromptContentView
- Clase
PromptVerticalListContentView
- Clase
PromptContentViewWithMoreOptionsButton
(solo para apps con privilegios)
- Logotipo de Agrega APIs para admitir (solo apps con privilegios)
BiometricPrompt.PromptInfo.Builder#setLogoBitmap
BiometricPrompt.PromptInfo.Builder#setLogoRes
BiometricPrompt.PromptInfo.Builder#setLogoDescription
BiometricPrompt.PromptInfo#getLogoBitmap
BiometricPrompt.PromptInfo#getLogoRes
BiometricPrompt.PromptInfo#getLogoDescription
58c35c6
Correcciones de errores
- Actualiza
compileSdk
a 35 5dc41be.
Versión 1.4.0-alpha01
29 de mayo de 2024
Lanzamiento de androidx.biometric:biometric:1.4.0-alpha01
y androidx.biometric:biometric-ktx:1.4.0-alpha01
. Esta versión se desarrolla en una rama interna y está orientada a la versión beta 2 de Android 15.
Correcciones de errores
- Actualiza la IU para que sea coherente con los cambios de plataforma en Android 15
Versión 1.2.0
Versión 1.2.0-alpha05
21 de septiembre de 2022
Se lanzaron androidx.biometric:biometric:1.2.0-alpha05
y androidx.biometric:biometric-ktx:1.2.0-alpha05
. La versión 1.2.0-alpha05 contiene estas confirmaciones.
Cambios en la API
- Se agregó compatibilidad con
CryptoObject
paraandroid.security.identity.PresentationSession
en Android 13 (C5f1ec, b/197965513).
Correcciones de errores
- Se quitaron las variantes de recursos innecesarias para reducir el tamaño de la biblioteca (I3601e y b/220178553).
- Se corrigió el problema relacionado con
BiometricPrompt
alojado en contextos que no eran de actividad (Ife255).
Versión 1.2.0-alpha04
17 de noviembre de 2021
Lanzamiento de androidx.biometric:biometric:1.2.0-alpha04
y androidx.biometric:biometric-ktx:1.2.0-alpha04
. La versión 1.2.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Se mejoró la compatibilidad con BiometricPrompt para fragmentos alojados por contextos que no son de actividad. (I9312b)
Cambios en la API
- Se agregó compatibilidad con la API de BiometricManager.Strings de Android 12. (I12f2d)
- Se cambió la compatibilidad de destino y origen de Java 7 a Java 8. (I16129)
Correcciones de errores
- Se corrigió un problema en la API 29 por el que algunos dispositivos (incluidos los emuladores) recibían un error de cancelación cuando recurrían al PIN, al patrón o a la contraseña. Ten en cuenta que, para algunos dispositivos con nivel de API 29, esto puede causar que se le solicite al usuario el bloqueo de pantalla, incluso si hay datos biométricos disponibles e inscritos. (b/142740104)
- Se corrigió un problema en la API 29 por el que los dispositivos sin hardware biométrico no recurrían correctamente al PIN, al patrón o a la contraseña. (b/170517889)
Versión 1.2.0-alpha03
24 de febrero de 2021
Lanzamiento de androidx.biometric:biometric:1.2.0-alpha03
y androidx.biometric:biometric-ktx:1.2.0-alpha03
. La versión 1.2.0-alpha03 contiene estas confirmaciones.
Cambios en la API
- Se agregaron extensiones de suspensión de corrutinas para CredentialAuthPrompt similares a las que existen para otros tipos de AuthPrompt. (I9ac70)
Versión 1.2.0-alpha02
27 de enero de 2021
Lanzamiento de androidx.biometric:biometric:1.2.0-alpha02
y androidx.biometric:biometric-ktx:1.2.0-alpha02
. La versión 1.2.0-alpha02 contiene estas confirmaciones.
Cambios en la API
- Se refactorizaron algunos campos
AuthPrompt
que se habían configurado previamente a través de un compilador en argumentos del métodostartAuthentication(...)
. (I18896, b/174098373) - Se agregaron requisitos mínimos de nivel de API para los tipos
AuthPrompt
con compatibilidad limitada o sin compatibilidad en versiones anteriores de Android. (I18896) - Se agregaron métodos get para todos los campos
AuthPrompt
que se establecieron a través de un compilador. (I18896) - Se agregaron extensiones de suspensión de Kotlin para la autenticación biométrica a través de las API de
AuthPrompt
. Estas funciones mostrarán el errorAuthenticationResult
directamente en caso de éxito o arrojarán una excepción cuando se produzca un error o falla (error de credencial). (Iffc9e)
Correcciones de errores
- Se corrigió un problema por el cual
BiometricManager.canAuthenticate(int)
a veces mostraba el código de estado incorrecto para un dispositivo con un sensor de huellas dactilares en Android 10 (nivel de API 29). (I72420, b/176921662) - Se corrigió un problema por el cual
BiometricManager.canAuthenticate(int)
mostraba un código de estado incorrecto para un dispositivo sin hardware biométrico y sin PIN, patrón ni contraseña inscriptos en Android 10 (nivel de API 29) y versiones anteriores del SDK. (I79b7d, b/174505824) - Se corrigió una fuga de memoria que ocurría cuando
BiometricPrompt
se alojaba en un fragmento con un ciclo de vida más corto que su actividad asociada. (I70864, b/167014923)
Versión 1.2.0-alpha01
2 de diciembre de 2020
Lanzamiento de androidx.biometric:biometric:1.2.0-alpha01
y androidx.biometric:biometric-ktx:1.2.0-alpha01
. La versión 1.2.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se agregó el módulo
androidx.biometric:biometric-ktx
, que agrega extensiones y API específicas de Kotlin, además deandroidx.biometric:biometric
.
Cambios en la API
- Se agregaron API nuevas de
AuthPrompt
para construir un objetoBiometricPrompt
y realizar la autenticación. Estas API no requieren queBiometricPrompt
se construya en una devolución de llamada de ciclo de vida temprana, comoonCreate
. (I19022) - Se agregaron extensiones de Kotlin a
Fragment
yFragmentActivity
para las API nuevas deAuthPrompt
. (Iaf98c)
Versión 1.1.0
Versión 1.1.0
27 de enero de 2021
Lanzamiento de androidx.biometric:biometric:1.1.0
. La versión 1.1.0 contiene estas confirmaciones.
Cambios importantes desde la versión 1.0.0
- Se agregó asistencia de retrocompatibilidad para nuevas funciones y actualizaciones de API de autenticación biométrica que se introdujeron en Android 11.
- Se redujo significativamente la huella de tamaño de la app de biblioteca (en más de 100 KB, en algunos casos).
- Se quitaron varias fuentes de fugas de memoria que ocasionaba previamente la biblioteca.
- Se corrigieron fallas de verificación de clase que podrían afectar el rendimiento en versiones anteriores de Android.
- Se implementaron varias mejoras adicionales en la estabilidad y el comportamiento de la biblioteca.
Versión 1.1.0-rc01
11 de noviembre de 2020
Lanzamiento de androidx.biometric:biometric:1.1.0-rc01
. La versión 1.1.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un problema relacionado con ciertas acciones (autenticación, cancelación, etc.) que a veces arrojaban
NullPointerException
en algunos dispositivos (b/151316421). - Se corrigió un problema relacionado con algunos dispositivos Pixel que informaban un estado incorrecto cuando se usaba
BiometricManager#canAuthenticate(int)
para buscar datos biométricos de Clase 3 en Android 10 (b/170406186).
Versión 1.1.0-beta01
1 de octubre de 2020
Lanzamiento de androidx.biometric:biometric:1.1.0-beta01
. La versión 1.1.0-beta01 contiene estas confirmaciones.
Nuevas funciones
- Se redujo significativamente el tamaño del APK de la biblioteca (más de 100 KB comprimida, en algunos casos) al reemplazar las animaciones de diálogo con elementos estáticos en Android 8.1 y versiones anteriores (I4844e).
- Ahora
BiometricPrompt
vuelve automáticamente a la autenticación de credenciales de dispositivos (si se permite) en todas las versiones de Android compatibles cuando la autenticación biométrica está bloqueada (b/149579143).
Correcciones de errores
- Se solucionó un problema por el que
BiometricPrompt
causaba una falla en algunos dispositivos Android 9 sin un sensor de huellas dactilares (b/151443237). - Se corrigió un posible error de
NullPointerException
enFingerprintDialogFragment
(b/167951429). - Se corrigió un error en el que se usaba el tipo incorrecto de
CryptoObject
para una invocación del método reflexivo enBiometricManager
(b/165824669). - Se corrigió un problema por el que
BiometricPrompt
se volvía a mostrar poco después del descarte y provocaba que se descarte automáticamente la nueva solicitud en algunos dispositivos Android 10 (b/157783075). - Se corrigieron las fugas de memoria relacionadas con el uso de
FingerprintManagerCompat
(b/165840273). - Se corrigieron errores en los que la IU del diálogo de huellas dactilares se ocultaba o se mostraba de forma incorrecta en algunos dispositivos con Android 9 (b/154868505, b/148350291).
Versión 1.1.0-alpha02
19 de agosto de 2020
Lanzamiento de androidx.biometric:biometric:1.1.0-alpha02
. La versión 1.1.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
BiometricManager#canAuthenticate()
ahora puede mostrarBIOMETRIC_STATUS_UNKNOWN
para indicar que el usuario puede autenticarse, o bienBIOMETRIC_ERROR_UNSUPPORTED
para indicar que el dispositivo no admite una combinación de autenticador determinada.- Ahora se puede usar
BiometricPrompt#authenticate()
para la autenticación de credenciales del dispositivo con unCryptoObject
asociado, únicamente en Android 11 (nivel de API 30) y versiones posteriores.
Cambios en la API
- Se cambió a opcional la provisión de un
Executor
explícito cuando se construye una instancia deBiometricPrompt
(I6bb8a). - Se agregó el método
BiometricManager#canAuthenticate(int)
de Android 11 (Ia3f1c). - Se actualizó
BiometricPrompt
para agregar compatibilidad con constantesBiometricManager.Authenticators
de Android 11 (I39bd8). - Se agregó el método
BiometricPrompt.AuthenticationResult#getAuthenticationType()
de Android 11 (Icfad5). - Se agregó el código de error
BiometricPrompt.ERROR_SECURITY_UPDATE_REQUIRED
de Android 11 (I6610b). - Se actualizó
BiometricPrompt.CryptoObject
para admitirIdentityCredential
, únicamente en Android 11 (nivel de API 30) y versiones posteriores (I1d9f6).
Correcciones de errores
- Se corrigieron las fugas de memoria informadas por LeakCanary en
BiometricFragment
yBiometricViewModel
(b/144919472). - Corregimos
BiometricViewModel
para que ya no llame aMutableLiveData#setValue()
desde un subproceso en segundo plano (b/159983244). - Se corrigió un problema en el que
BiometricPrompt
no administraba en forma correcta el bloqueo temporal en algunos niveles de API (9acfce9). - Se corrigió un problema por el cual
BiometricPrompt
mostraba el código de error incorrecto para un dispositivo que no estaba protegido con una credencial de bloqueo de pantalla en algunos niveles de API (b/148626482). - Se corrigió un problema en el que
BiometricManager
yBiometricPrompt
mostraban los códigos de error incorrectos para un dispositivo sin implementación de bloqueo de teclado en algunos niveles de API (891c6e0).
Versión 1.1.0-alpha01
24 de junio de 2020
Lanzamiento de androidx.biometric:biometric:1.1.0-alpha01
. La versión 1.1.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
- Se refactorizó la implementación de la biblioteca interna para abordar las posibles fuentes de fuga de memoria y otros comportamientos no deseados:
- Los fragmentos internos ahora comparten y conservan datos mediante
ViewModel
que está vinculado al ciclo de vida de la aplicación del cliente. - La autenticación de credenciales de un dispositivo anterior a Android 10 (API nivel 29) ya no inicia una actividad transparente dentro de la aplicación cliente.
- Los fragmentos internos ahora comparten y conservan datos mediante
Correcciones de errores
- Se resolvieron las advertencias de desuso relacionadas con
FingerprintManagerCompat
(b/142967618). - Se cambió la forma en la que se llaman los métodos de las plataformas protegidas por SDK para evitar problemas de verificación de clase en versiones anteriores de Android (94beb4b).
- Las dependencias de Gradle que no forman parte de la API pública ya no se exportan a la biblioteca (f289d9e).
Versión 1.0.1
Versión 1.0.1
18 de diciembre de 2019
Lanzamiento de androidx.biometric:biometric:1.0.1
. La versión 1.0.1 contiene estas confirmaciones.
Correcciones de errores
- Se extendió la solución existente de resguardo de huellas dactilares para la autenticación basada en criptografìa a proveedores afectados conocidos y también se limitó al nivel de API 28 (b/143361271).
- Se solucionó un problema en algunos dispositivos en los que se mostraba el diálogo biométrico en una superposición del sistema (b/143230260).
- Se corrigieron varios problemas relacionados con
setDeviceCredentialAllowed(true)
(b/143091227, b/143097321, b/143653944). - Se solucionó un problema en algunas versiones de Android en las que no siempre se llamaba a
onAuthenticationSuccess
después de que el usuario confirmaba su credencial de dispositivo (b/145232806). - Se solucionó un problema en algunas versiones de Android en las que no siempre se llamaba a
onAuthenticationError
cuando el mensaje se descartaba durante la rotación (b/145230042). - Se solucionó un problema en algunas versiones de Android en las que no se descartaba el mensaje al recibir ciertos códigos de error (b/143683687).
- Se corrigió un posible error de
NullPointerException
enBiometricFragment
(b/142599311).
Versión 1.0.0
Versión 1.0.0
7 de noviembre de 2019
Lanzamiento de androidx.biometric:biometric:1.0.0
sin cambios desde 1.0.0-rc02
. La versión 1.0.0 contiene estas confirmaciones.
Funciones principales de la versión 1.0.0
- Versión de compatibilidad de las API de
BiometricPrompt
yBiometricManager
, como se implementó en Android 10, con compatibilidad total con las funciones de Android 6.0 (API nivel 23) - Administración integrada del ciclo de vida de
BiometricPrompt
dentro de unFragment
oFragmentActivity
- Procesamiento especial para dispositivos que presentan incorrectamente datos biométricos débiles durante la autenticación basada en criptografía
Versión 1.0.0-rc02
23 de octubre de 2019
Lanzamiento de androidx.biometric:biometric:1.0.0-rc02
. La versión 1.0.0-rc02 contiene estas confirmaciones.
Correcciones de errores
- Se agregó una solución alternativa para ciertos dispositivos que se sabe que proporcionan incorrectamente datos biométricos débiles cuando se invoca la autenticación basada en criptografìa en las versiones de API 28 y 29 (b/142150327).
Versión 1.0.0-rc01
9 de octubre de 2019
Lanzamiento de androidx.biometric:biometric:1.0.0-rc01
. La versión 1.0.0-rc01 contiene estas confirmaciones.
Correcciones de errores
- Se corrigió un posible bloqueo con el objeto
FingerprintDialogFragment
cuando se lo descartaba mientras se gira la pantalla (b/141356362). - Se solucionó un problema por el que la recepción de un objeto
AuthenticationResult
nulo en la API de Framework podía provocar un bloqueo (b/138862251). - Se corrigieron bloqueos causados por objetos
BiometricPrompt
que se descartaban después deonSaveInstanceState()
(b/138825362, b/140447194).
Versión 1.0.0-beta02
18 de septiembre de 2019
Lanzamiento de androidx.biometric:biometric:1.0.0-beta02
. La versión 1.0.0-beta02 contiene estas confirmaciones.
Correcciones de errores
- Se corrigieron problemas relacionados con la compatibilidad de credenciales del dispositivo en la versión
1.0.0-beta01
. - Se quitaron las dependencias de Java 8 y se cambió a Java 7 (b/140508526).
- Ahora
FingerprintHelperFragment
arroja correctamenteERROR_HW_NOT_PRESENT
cuando no se detecta hardware de huellas dactilares (b/140427586).
Versión 1.0.0-beta01
29 de agosto de 2019
Lanzamiento de androidx.biometric:biometric:1.0.0-beta01
. La versión 1.0.0-beta01 contiene estas confirmaciones.
Nuevas funciones
Introdujimos un segundo constructor para BiometricPrompt que permite que se aloje en un objeto Fragment (a diferencia del constructor existente, que requiere un FragmentActivity).
También nos complace ofrecer la siguiente funcionalidad de Android 10 en la biblioteca biométrica de AndroidX:
BiometricManager#canAuthenticate
BiometricPrompt.PromptInfo#setConfirmationRequired
BiometricPrompt.PromptInfo#setDeviceCredentialAllowed
En Android 10, la biblioteca invocará los métodos correspondientes desde la API de la plataforma. En niveles anteriores de la API, la biblioteca emulará el comportamiento.
Cambios en la API
- Se agregó un constructor específico de fragmento para el mensaje biométrico (b/131980596).
- Consulta la sección "Nuevas funciones" que aparece más arriba.
Correcciones de errores
- Se agregó compatibilidad con las credenciales de dispositivo BiometricPrompt para L y versiones posteriores.
- Se corrigió el mensaje biométrico para utilizar constantes de error públicas (b/137788194).
- Se corrigió
NullPointerException
enBiometricPrompt.onAttach()
(b/136103103). - Se modificó el comportamiento para no permitir que un evento táctil afuera del indicador cancele BiometricPrompt (b/135684487).
- Se solucionó el error onAuthenticationError que se generaba cuando se mostraba un valor de error nulo en Kotlin (b/128350861).
- FingerprintDialogFragment ahora admite estilos (b/127878106).
- FingerprintDialog ahora es desplazable (b/126367887).
- Se corrigió un error en el que la rotación del cuadro de diálogo biométrico generaba un
IllegalStateException
(b/124153656), (b/123811924). - Se corrigió un comportamiento incoherente en los niveles de API 23 a 27 (b/124066957).
- Se solucionó el problema por el que el diálogo de acceso con huella dactilar leía texto incorrecto mediante TalkBack (b/123572331).
Versión 1.0.0-alpha04
3 de abril de 2019
Lanzamiento de androidx.biometric:biometric:1.0.0-alpha04
. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.
Correcciones de errores
- No se limpian todos los fragmentos de Biometric corregidos (b/121117380).
- Se corrigió
BiometricPrompt
que solo permite una instancia deBiometricPrompt.AuthenticationCallback
(b/123857949). - Se corrigió un error de
BiometricPrompt
relacionado con un comportamiento incoherente entre las versiones de sistema y compatibilidad (b/123572326). - La devolución de llamada
onAuthenticationError()
con@NotNull errString
provocaNullPointerException
durante el tiempo de ejecución (b/123167217). - Se corrigió el bloqueo de
androidx.BiometricPrompt
con el botón Cancelar (b/122054485). - Se corrigió el problema en el que no cambiaba el título o la descripción de
androidx.biometric.PromptInfo
en Android P ( b/122856773 ).
Versión 1.0.0-alpha03
17 de diciembre de 2018
Correcciones de errores
- Se corrigieron problemas relacionados con fragmentos.
- En dispositivos con versión O y anteriores, los errores de bloqueo se muestran inmediatamente de modo que sean coherentes con la versión P y versiones posteriores.