Implementación de Verificación Facial en App Android

Clase 22 de 31Curso de Desarrollo de Aplicaciones con Huawei

Resumen

¿Cómo configurar los métodos de verificación de rostro y selfie en Android?

Adentrarse en el mundo de la programación para Android te abre múltiples puertas, permitiéndote explorar herramientas avanzadas y técnicas para mejorar la experiencia del usuario. En esta lección, aprenderemos a establecer los métodos para verificar el rostro y lograr que se visualice en una cámara de selfies configurada desde nuestra aplicación. ¡Vamos allá!

¿Cómo establecer la comunicación entre botones y el tipo de detección?

Para iniciar, debemos configurar el código que nuestros botones enviarán para indicar el tipo de detección que deseamos utilizar.

Intent intent = new Intent();
intent.putExtra("detect_mode", 1002);  // Código para un botón
intent.putExtra("detect_mode", 1003);  // Código para otro botón

Este procedimiento ayuda a diferenciar qué acción debe tomar la aplicación con base en el botón presionado, facilitando la comunicación entre el botón y la lógica de detección.

¿Cómo almacenar el estado en Android?

Cuando trabajamos con orientación en las aplicaciones, es crucial guardar el estado en ciertas ocasiones. Aquí es donde entra en juego saveInstanceState.

@Override
public void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putInt("lens_type", LENS_TYPE_FRONT);
}

Este método permite guardar el estado y restaurarlo en situaciones específicas, como cambios de orientación.

¿Cómo inicializar y manejar el motor de lentes?

Para darle vida a nuestra aplicación de cámara, necesitamos configurar correctamente el LensEngine.

private void startLensEngine() {
    if (lensEngine != null) {
        try {
            if (detectMode == 1003) {
                preview.start(lensEngine, overlay);
            } else {
                preview.start(lensEngine);
            }
        } catch (IOException e) {
            lensEngine.release();
            lensEngine = null;
        }
    }
}

Este fragmento garantiza que el motor de lentes se inicialice correctamente, mientras se manejan excepciones que pueden surgir durante la sincronización con la cámara.

¿Cuál es el uso de los estados del ciclo de vida en la cámara?

Es indispensable gestionar los ciclos de vida de la cámara para asegurar que funcione adecuadamente. Aquí los eventos onResume, onPause y onDestroy son clave.

@Override
protected void onResume() {
    super.onResume();
    startLensEngine();
}

@Override
protected void onPause() {
    super.onPause();
    preview.stop();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    if (lensEngine != null) {
        lensEngine.release();
    }
}

Estos métodos permiten que la cámara se detenga, libere recursos o inicie en función de los estados de la aplicación.

¿Cómo validar el modo de detección al crear la actividad?

Al crear la actividad, es importante asegurar que el modo de detección se reciba correctamente desde la actividad principal.

Intent intent = getIntent();
try {
    detectMode = intent.getIntExtra("detect_mode", 1);
} catch (RuntimeException e) {
    Log.e("Error", "No pude traer el código de detección");
}

Esta comprobación preliminar es esencial para adaptarse a las necesidades de detección deseadas y evitar errores de ejecución.

¿Qué hacer si la visualización en cámara falla?

A veces, pueden surgir problemas de visualización que deben ser resueltos. Al estar configurados los callbacks del SurfaceHolder y ajustar proporciones, se mitigan estos inconvenientes.

surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {...});

Corregir la proporción de la imagen también es crucial para una sincronización visual adecuada.

¿Qué pasos seguir para probar la cámara?

Finalmente, después de realizar estas configuraciones, es hora de probar nuestra cámara:

  1. Corre la aplicación.
  2. Instala la aplicación en un dispositivo Android.
  3. Al dar clic a uno de los botones y autorizar los permisos con Huawei ID, observa si el rostro aparece en la cámara.

Estos pasos te llevarán a ver tus resultados en acción y te permitirán hacer ajustes sobre la marcha.

En conclusión, esta clase te ha armado con las herramientas necesarias para visualizar rostros a través de una cámara de selfies configurada en Android. Prepárate para la próxima clase, donde incorporaremos la detección de sonrisa y más características que enriquecerán tu aplicación. ¡Adelante, sigue explorando y aprendiendo!