Android

A BCC Finger Photo é uma biblioteca Android feita para ser integrada à uma aplicação Android. Essencialmente, ela abrirá a câmera e capturará digitais para propósitos biométricos.

Esse manual está atualizado para a versão 4.3.0 da BCC Finger Photo.

Requisitos

A BCC Finger Photo é uma biblioteca de Android e deve ser importada no projeto-alvo.

  • Versão mínima do Android: Android 6.0 (SDK 23), "Marshmallow"

  • Versão mínima do Kotlin: 1.6.0.

  • O aparelho móvel deve possuir uma câmera.

  • O aplicativo nativo deve ser compilado com tecnologia Android.

  • Ambiente de desenvolvimento: Uma IDE Android é necessária, como o Android Studio (recomendado)

  • Dependências externas adicionais:

Instalação

Adicionando a Biblioteca no Projeto do App

A biblioteca BCC Finger Photo requer JNA para Android. Os dois são fornecidos pela Griaule como arquivos .aar.

Para adicionar as bibliotecas, acesse o diretório do seu projeto, abra a pasta app e crie os seguintes diretórios: libs/bccfinger. Em seguida, adicione as dependências jna.aar e bccfingerphotolib-release.aar. A estrutura de pastas deve ser semelhante a esta:

A próxima etapa é tornar esses arquivos visíveis para as dependências do gradle. Para fazer isso, adicione a seguinte linha no arquivo build.gradle (:app) no objeto de dependências:

Dentro do arquivo build.gradle (:app), adicione também as opções de compilação e defina a compatibilidade de origem e a compatibilidade de destino para usar 1.8 (Java 8).

Configurando as Dependências

Modifique o arquivo android/app/build.gradle:

Uso

Parâmetros e Construtor

Um uso simples da biblioteca é mostrado abaixo:

O construtor da classe BCCFingerBuilder recebe os seguintes parâmetros:

  • context: Context - O contexto da aplicação.

  • delegate: BCCFingerDelegate - Interface responsável por notificar os eventos de captura, como falha ou sucesso.

A classe BCCFingerBuilder é responsável por gerenciar as configurações de uso do BCCFinger. Os parâmetros a seguir são aceitos para confiuração da captura biométrica e comportamento do software.

  • setSkipCaptureOption(enable: Boolean) - Habilita a opção de pular a captura atual.

  • setDebugMode(enable: Boolean) - Habilita o modo de debug.

  • buildCaptureType(type: BCCFingerPhotoCaptureType) - Define o tipo de captura de impressão digital. As opções são:

    • BOTH_HANDS - Ambas as mãos sem polegares.

    • ONLY_LEFT_HAND - Somente a mão esquerda, sem polegar.

    • ONLY_RIGHT_HAND - Somente a mão direita, sem polegar.

    • THUMBS - Ambos os polegares.

    • LEFT_THUMB - Somente polegar esquerdo.

    • RIGHT_THUMB - Somente polegar direito.

    • FULL_HANDS - Ambas as mãos com polegares.

    • FULL_LEFT_HAND - Somente a mão esquerda, com polegar.

    • FULL_RIGHT_HAND - Somente a mão direita, com polegar.

  • buildBeginDelaySeconds(delay: Float) - Define o delay para inciiar o ajuste automático do limiar.

  • buildThreshold - Define os parâmetros de limiar.

Para referência, a lista completa de parâmetros e valores padrão é:

Valores de Retorno

Os resultados da última captura de impressão digital podem ser recuperados através do método fingerCaptureDidFinish da interface BCCFingerDelegate:

O objeto returnData contém os seguintes métodos para recuperação dos dados:

  • getCapturedFingersIndexes() - Retorna uma lista com o índice de todas as impressões digitais capturadas:

  • getCapturedFingers() - Retorna um mapa que relaciona os índices dos dedos com as biometrias capturadas.

  • getCapturedFingersData() - Retorna a lista de todas as impressões digitais capturadas:

    • fingerprintImage - Imagem PNG da impressão digital em escala de cinza.

    • wsqAsBase64 - Imagem da impressão digital em WSQ codificada em base64.

  • getSkippedFingers() - Retorna a lista de índices das capturas puladas.

A classe BCCFingerReturnData também contém atributos que armazenam a informação capturada agrupada por mão:

Estes atributos podem ser nulos nos casos em não seja requerida captura para qualquer uma das mãos.

A classe HandData contém as seguintes informações:

  • capturedFingers - Mapa que relaciona o índice do dedo à imagem da impressão digital.

  • skippedFingers - Lista de índices das capturas puladas.

  • handsPhoto - Foto original da mão que gerou as impressões digitais.

  • thumbPhoto - Foto original do polegar.

Caso o usuário encerre a aplicação antes de finalizar a captura bionmétrica, o método fingerCaptureDidAbort será chamado. Você pode implementar este método para tratar este cenário.

Recuperando as imagens originais

É possível recuperar as imgens originais através da classe BCCFingerReturnData, conforme mostrado abaixo:

Projeto Exemplo

Este é um exemplo de projeto funcional para captura de impressões digitais utilizando o BCC Finger Android:

Atualizado

Isto foi útil?