El arsenal de Android – Huella digital

API de biometría

  • Con el lanzamiento de Android 10 (API nivel 29), los desarrolladores ahora pueden usar la API biométrica, parte de la biblioteca biométrica de AndroidX, para todas sus necesidades de autenticación de usuarios en el dispositivo.
  • El equipo de Marco y seguridad de Android ha agregado una serie de características importantes a la biblioteca biométrica de AndroidX, lo que hace que todo el comportamiento biométrico de Android 10 esté disponible para todos los dispositivos que ejecutan Android 6.0 (API nivel 23) o posterior.
  • Además de admitir múltiples factores de forma de autenticación biométrica, la API ha hecho que sea mucho más fácil para los desarrolladores verificar si un dispositivo en particular tiene sensores biométricos. Y si no hay sensores biométricos, la API permite a los desarrolladores especificar si quieren usar las credenciales del dispositivo en sus aplicaciones.

Sobre este proyecto:

  • Esta aplicación es un ejemplo de autenticación biométrica en Android usando la API biométrica
Desbloqueo de su huella digital Desbloqueo facial

Esta aplicación proporciona la funcionalidad a continuación

  • Autenticación de huellas dactilares
  • autenticación facial
  • PIN/contraseña/patrón de autenticación

Como funciona :

  1. Agregue la dependencia de Gradle al módulo de la aplicación
    def biometric_version=  '1.0.0-rc02'
    implementation "androidx.biometric:biometric:$biometric_version"
  1. Compruebe si el dispositivo es compatible con la autenticación biométrica
    val biometricManager =  BiometricManager.from(context)
    if(biometricManager.canAuthenticate()  ==  BiometricManager.BIOMETRIC_SUCCESS){
     // you can authenticate with biometrics
    }
  1. Crear una instancia de BiometricPrompt
    private fun instanceOfBiometricPrompt():  BiometricPrompt  {
        val executor =  ContextCompat.getmainExecutor(context)
        val callback =  object:BiometricPrompt.AuthenticationCallback()  {
            override fun onAuthenticationError(errorCode:  Int, errString:  CharSequence) {
                super.onAuthenticationError(errorCode, errString)
                showMessage("$errorCode :: $errString")
            }
            override fun onAuthenticationFailed()  {
                super.onAuthenticationFailed()
                showMessage("Authentication failed for an unknown reason")
            }
            override fun onAuthenticationSucceeded(result:  BiometricPrompt.AuthenticationResult{
                super.onAuthenticationSucceeded(result)
                showMessage("Authentication was successful")
            }
        }
        val biometricPrompt =  BiometricPrompt(context, executor, callback)
        return biometricPrompt
    }
  1. Crear un objeto PromptInfo
    promptInfo =  BiometricPrompt.PromptInfo.Builder()
     .setTitle("Biometric login for my app")
     .setSubtitle("Log in using your biometric credential")
     // Can't call setNegativeButtonText() and  // setAllowedAuthenticators(... or DEVICE_CREDENTIAL) at the same time.//
     //.setNegativeButtonText("Use account password") //
     .setAllowedAuthenticators(BIOMETRIC_WEAK or DEVICE_CREDENTIAL)
     .build()
  1. Solicitar al usuario que se autentique
    biometricPrompt.authenticate(promptInfo)

Para el nivel de API 21-23:

  • Para el nivel de API 21-23, debe verificar si el bloqueo de pantalla está habilitado o no antes de la autenticación.
    keyguardManager = getSystemService(KEYGUARD_SERVICE) as KeyguardManager
    if (keyguardManager.isKeyguardSecure) {
        //Screen lock is enabled, do authentication.
    }
  • Si el bloqueo de pantalla no está habilitado, use el siguiente código para llevar al usuario a la pantalla de configuración para configurar el bloqueo de pantalla.
    startActivityForResult(Intent(Settings.ACTION_SECURITY_SETTINGS), REQUEST_CODE)

Para más información ir a Blog biométrico para desarrolladores de Android

¿Te parece útil este ejemplo? ❤️

Apoyalo uniéndote observadores de estrellas por este depósito.

Licencia

Copyright 2020 Simform Solutions

 Licensed under the Apache License, Version 2.0 (the "License");
 you may not use this file except in compliance with the License.
 You may obtain a copy of the License at
 
    http://www.apache.org/licenses/LICENSE-2.0
 
 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and limitations under the License.

.

About MiReal

Compruebe también

El arsenal de Android – Sistema de archivos

Resumen Descripción general Cuanto más alto sea el nivel de la API, más acceso restringido …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

holiganbet giriş
- elexbet yeni giriş -

bahsegel bahis

- anadolu casino giriş -
betboo giriş
-

Personel Sağlık