Skip to content
Proyecto para probar la integración con la lectura de huellas en Android
Java
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
app
gradle/wrapper
.gitignore
README.md
build.gradle
gradle.properties
gradlew
gradlew.bat
settings.gradle

README.md

FingerprintPay

Proyecto para probar la integración con la lectura de huellas

Para este proyecto se ha usado como ejemplo una mini aplicación donde se muestran productos y se pueden comprar mediante la Huella.

Metodos Interesantes

Aqui listo los metodos que para mí son más interesantes de conocer...

Receptor de respuestas del Lector de Huellas

Automáticamente el metodo onFingerprintStatus nos va a devolver la información de la respuesta recibida del lector de Huellas, asi filtramos si la lectura ha sido correcta o si se ha producido algun error en la lectura o el recnocimiento.

    @Override
    public void onFingerprintStatus(boolean authSuccessful, int errorType, CharSequence errorMess) {
        // authSuccessful - boolean que contienen el resultado de la autentificación
        // errorType - Si ha fallado la autentificación de la huella, 
                        //contiene el código de error
        // errorMess - Si ha fallado la autentificación de la huella, 
                        //contiene el mensaje de error con la posible razón del error

        if (authSuccessful) {
            //En caso de que la autentificación de la huella sea correcta ejecuta el código de aqui
      } else if (mFAH != null) {
            //La autentificacion de la huella ha sido incorrecta, 
                //debemos filtrar los errores para saber porque ha fallado
            switch (errorType) {
                case FahErrorType.General.LOCK_SCREEN_DISABLED:
                    //Error ocasionado porque el dispositivo no esta seguro al no tener la pantalla de bloqueo protegida
                    break;
                case FahErrorType.General.NO_FINGERPRINTS:
                    //Error ocasionado porque no hay Huellas registradas en el dispositivo
                    mFAH.showSecuritySettingsDialog();      //Ventana predefinida avisando de esto
                    break;
                case FahErrorType.Auth.AUTH_NOT_RECOGNIZED:
                    //Error ocasionado porque la Huella es incorrecta
                    break;
                case FahErrorType.Auth.AUTH_TO_MANY_TRIES:
                    //Error ocasionado por intentar introducir la huella incorrecta demasiadas veces
                    break;
            }
        }
    }

Estado de escucha del Lector de Huellas

Automáticamente el metodo onFingerprintListening nos va a indicar cual es el estado actual de escucha, necesario para que cuando la lectura esta desactivada por demasiados intentos fallidos (Generalmente 5), este metodo nos avise de cuanto tiempo falta para poder volver a escuchar mediante el sensor

    @Override
    public void onFingerprintListening(boolean listening, long milliseconds) {
        // listening - boolean que nos indica si se esta escuchando
        // milliseconds - Si la variable listening es false & errorType = AUTH_TO_MANY_TRIES,
                          // miliseconds contiene los milisegundos que faltan para que el Lector pueda volver a funcionar

        if (listening) {
            //Código para cuando esta escuchando correctamente
        } else {
            //Código para cuando no esta escuchando correctamente
        }

        if (milliseconds > 0) {
            //Código para cuando hay que esperar un tiempo *Recomendado informar al usuario del tiempo que falta
            int seconds = (int) (milliseconds / 1000) % 60 ;            //Tiempo en segundos
            int minutes = (int) ((milliseconds / (1000*60)) % 60);      //Tiempo en minutos
        }
    }

Carga Imagenes con Glide

Teniendo como variables:

  • Activity activity = Actividad actual, se puede cambiar por un contexto
  • String link = String o Uri con el enlace de la imagen a cargar
  • ImageView postImg = ImageView donde se colocara la imagen cargada por Glide
private void cargarImagen(String link, ImageView postImg) {
    //Si la iamgen esta vacia, no carges nada
    if (!link.equals("")){

        //Carga Imagen
        Glide.with(this.activity)       //Contexto o Actividad
        .load(link)                     //Enlace del recurso a cargar
        .into(postImg);                 //ImageView donde se colocara la imagen
    }
}

Referencias

Se ha usado la libreria de FingerprintAuthHelper para la integración de Lectura de Huellas

    dependencies {
        compile 'com.github.pro100svitlo:fingerprintAuthHelper:1.3.0'
    }

Se ha usado la libreria de Glide para la carga de iamgenes

    dependencies {
        implementation 'com.github.bumptech.glide:glide:3.8.0'
    }

Licencia

The MIT License (MIT)

Copyright (c) 2018 FingerprintPay

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

You can’t perform that action at this time.