ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Leitor Biometrico.

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Mobile com Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Qui Ago 22, 2019 2:10 pm    Assunto: Leitor Biometrico. Responder com Citação

Boa tarde.
Alguém já fez ou sabe como acessar o leitor de digital do android com firemonkey ?
Por exemplo fazer um app que autentique com a digital.

Att
Marcelo
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
rodrigoprado
Colaborador
Colaborador


Registrado: Terça-Feira, 24 de Mai de 2005
Mensagens: 1074
Localização: Curitiba/PR

MensagemEnviada: Qui Out 03, 2019 6:00 pm    Assunto: Responder com Citação

Blz pessoal, por gentileza alguém avançou com essa situação?

seria "Fingerprint with android in delphi" or "Biometric"

Até achei um componente aqui, mas é pago...

TTMSFMXNativeLocalAuthentication
Authentication via Touch ID
Requires a device that supports Touch ID
Built-in verification if authentication via Touch ID is possible

https://www.tmssoftware.com/site/tmsicl.asp

Bom segue um exemplo em java... algo assim..

https://developer.android.com/training/sign-in/biometric-auth
_________________
- Compartilhe seus conhecimentos -
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
lucasc
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 10 de Mai de 2007
Mensagens: 305

MensagemEnviada: Seg Nov 04, 2019 9:57 am    Assunto: Responder com Citação

Eu também estou a procura.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
rodrigoprado
Colaborador
Colaborador


Registrado: Terça-Feira, 24 de Mai de 2005
Mensagens: 1074
Localização: Curitiba/PR

MensagemEnviada: Seg Nov 25, 2019 1:09 pm    Assunto: Responder com Citação

Até o momento há 2 componentes pagos... para isso para aplicações mobile, e o delphi rio 10.3.3, não tem ainda o acesso direto, somente se mapear a sdk manualmente.

https://www.winsoft.sk/aauth.htm
https://www.tmssoftware.com/site/tmsicl.asp
_________________
- Compartilhe seus conhecimentos -
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Qui Jan 09, 2020 10:49 am    Assunto: Responder com Citação

Baixe o sdk
biometric-1.0.1.aar

Use o java2op

Siga o exemplo do link:
biometric auth
_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Qui Jan 09, 2020 2:43 pm    Assunto: Responder com Citação

Boa Tarde strak2012 , obrigado pela ajuda.
Estou tentando gerar a unit com o java2op , porém esta gerando uma unit vazia.
Saberia o porque ?
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Qui Jan 09, 2020 4:44 pm    Assunto: Responder com Citação

marcelo_tux escreveu:
Boa Tarde strak2012 , obrigado pela ajuda.
Estou tentando gerar a unit com o java2op , porém esta gerando uma unit vazia.
Saberia o porque ?


abra o *.aar com o winrar ou 7zip extraia o classe.jar
renomei o classe.jar para biometric.jar para ficar mais comodo
com o biometric.jar gere a unit bridge com java2op
importe o biometric.jar para o projeto

Realize a transcrição do exemplo java do link para delphi
o código não ficara muito diferente entre java e delphi

pronto!

é testar

notas e observações:
1 - Dê preferencia ao java2op da versão do delphi 10.3
2 - Talvez algumas permissões seja necessitaria ou não dá uma pesquisada

@Editado---

Confirmado as permissões necessárias são:
Código:
    <uses-permission android:name="android.permission.USE_BIOMETRIC" />
    <uses-permission android:name="android.permission.USE_FINGERPRINT" />

_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Sex Jan 10, 2020 1:47 pm    Assunto: Responder com Citação

Consegui gerar a unit , porém não to conseguindo usar de jeito nenhum.
Quando tiver um tempinho e puder me ajudar a usá-la.

Obrigado.
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Sex Jan 17, 2020 1:32 am    Assunto: Responder com Citação

E depois de mais de uma semana estudando o caso enfim consegui compilar um exemplo uffa.

Fazer uso de SDK no Delphi vem sendo cada vez mais trabalhosa.

Vou citar os problema que enfrentei ao tentar fazer uso desta sdk no Delphi e as suas respectivas soluções:

1 - Dependência de pacotes
É comum que um jar depende de outro jar e aí vem a batalha de buscar-las em repositórios como o maven

Este pacote tem dependência de pelo menos outros três pacotes mais vamos abstrair esta questão com um simples demo apk em java já funcional

Com o apk em java funcional você neste mesmo apk já possui tudo necessário para fazer uso da sdk então basta saber como extrair deste apk o que necessitamos.

Vale lembrar que arquivos do tipo *.apk *.jar *.aar pode serem manipulados pelo WinRAR ou 7zip

Deste demo apk vamos extrair todo seu conteúdo em uma pasta.

O que basicamente vamos necessita desta extração são: a pasta chamada RES e os arquivos *.dex se houver mais de um claro.

Vais precisar converter o *.dex em *.jar costumo da seu nome de FullSdk.jar, já expliquei em post antigos o processo desta conversão.

Vamos agora voltar ao projeto e incluir o FullSdk.jar ao projeto e compilar pode haver conflito de jar e um erro saltar normalmente estar relacionado ao android-suport-v4.dex.jar e a FullSdk.jar ou seja ambas devem possuir algumas classe em comum.

Solução:
Abrir o FullSdk com o WinRAR e deletar o que pode estar a causar este conflito.

Resultado esperado:
Depois de deletar os arquivo de conflito da FullSdk.jar a compilação deve ser concluída sem erros

Uma vez que tenhamos este resultado agora passamos para o java2op

Deverá conseguir gerar o FullSdk.pas sem problema, importe para o seu projeto e notará um série de erro na FullSdk.pas

Os erro mais comum são:
1 - overloads;
2 - nomes de variáveis, constante functions e procedures com palavras reservadas
3 - símbolo $ em nomes de variáveis, constante, functions e procedures

Neste aspecto você precisa analisar cada caso para saber como corrigir cada um dos problemas.
Você pode também comentar a linha com o problema se for de uma classe que não irar chamar em seu programa.

Resultado esperado:
Depois do ajustes na FullSdk.pas será esperado uma compilação sem erros

Até este ponto estava familiarizado com todo este processo e para mim não havia muito segredo.

As coisas começa a complicar a partir deste ponto aqui.

Existe uma razão para que as Sdk venha em *.aar em vez de *.jar
É que *.aar acompanha arquivos recursos tipo *.png *.XML dentre outros mais e um chamado classe.jar que seria a própria SDK, noto que isso é um padrão das SDK no repositório maven.

Pois bem vais precisar agora introduzir os xmls e os pngs ao seu projeto em deployment isso pq está sdk provavelmente necessita de algum destes arquivos

Aqui quando você tentar compilar terá muitos surpresas desagradável e muitos erros
Dos que encontrei foi:

Nome de XML ou PNG não pode possuir o símbolo $
-Fácil resolver basta renomear os arquivos trocando onde tem $ por _ e problema resolvido

Arquivo public.xml não é suportada pelo aapt.exe nossa e agora?
um erro vai saltar com o seguit texto -> [PAClient Error] Error: E2312 First type is not attr!
a compilação consegue exito quando desmarcado o public.xml do deployment

A solução passara por termos que usar o aapt2.exe e claro também pelo aapt.exe

A pergunta é como?
Ambos gera um apk não assinado o aapt.exe gera tal como o na ide delphi, uma vez claro que a própria ide usa ele.
vou deixar as linhas de comando que funcionou para mim:

Código:
cd C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\build-tools\29.0.2\
aapt.exe package -f -M "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\Android\Debug\BiometricDelphi\AndroidManifest.xml" -F "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\Android\Debug\BiometricDelphi\bin\aapt_BiometricDelphi-unsigned.apk" -I "C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\platforms\android-28\android.jar" -S "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\Android\Debug\BiometricDelphi\res" -A "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\Android\Debug\BiometricDelphi\assets" "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\Android\Debug\BiometricDelphi\library" "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\Android\Debug\BiometricDelphi\classes"
aapt2.exe compile --dir "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\apk java decoded\res" -o "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\apk java decoded\resources.zip"
aapt2.exe link -o "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\Android\Debug\BiometricDelphi\bin\aapt2_BiometricDelphi-unsigned.apk" --manifest "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\Android\Debug\BiometricDelphi\AndroidManifest.xml" -I "C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\platforms\android-28\android.jar" "C:\Users\strak\Desktop\biometria_delphi_android2\biometric\apk java decoded\resources.zip" -v


com os dois apks gerado voce agora vai pegar novamente o winrar e copiar o conteúdo de um para o outro o de menor tamenho para o de maior tamanho
depois assinar o apk e instalar no dispositivo

existe muitos pormenores que ainda não consegui mencionar nesta postagem, assim na duvida vai perguntando pq certamente devo ter esquecido de mencionar varias coisas

Download de exemplo compilado + fontes:
Download do apenas do apk já compilado
Download do apk + fontes


Observação:
É um processo muito trabalhoso, e tem uma desvantagem de não poder debugar a aplicação uma vez que voce estar gerando o apk fora da ide delphi
assim estou estudando forma de implementar isso na ide delphi de forma automatica.

Algumas telas deste duro trabalho:


_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Seg Jan 20, 2020 1:04 am    Assunto: Responder com Citação

Agora com o projeto mais organizado e com a possibilidade de debugar-lo Very Happy

Para isso criei um código fonte de um aplicação de auxilio chamada aaptEx.exe ela basicamente deve ser chamada pelo delphi em vez da aapt.exe, assim sendo ela deve ser copiada para pasta onde se localiza as aplicações aapt.exe e a aapt2.exe, pois a aaptEx.exe vai fazer uso das duas para gerar os dois apk e depois uni em um só, foi usado o ZipForge para manipular os dois apks

Download fontes do apk biometria em delphi + fonte do aaptEx.exe

Local onde o aaptEx.exe foi colocado em meu caso:


Os arquivos do projeto ficou desta forma:

_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Seg Jan 20, 2020 8:07 am    Assunto: Responder com Citação

Muito obrigado strak2012.
Obrigado por ter disponibilizado seu tempo e conhecimento para nos ajudar.
Assim que der vou implantar em um software meu para teste.

Mais um vez Obrigado.
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
marcelo_tux
Aprendiz
Aprendiz


Registrado: Terça-Feira, 2 de Abril de 2013
Mensagens: 230
Localização: São José do Rio Preto - SP

MensagemEnviada: Ter Jan 21, 2020 8:41 am    Assunto: Responder com Citação

strak2012 escreveu:
Agora com o projeto mais organizado e com a possibilidade de debugar-lo Very Happy

Para isso criei um código fonte de um aplicação de auxilio chamada aaptEx.exe ela basicamente deve ser chamada pelo delphi em vez da aapt.exe, assim sendo ela deve ser copiada para pasta onde se localiza as aplicações aapt.exe e a aapt2.exe, pois a aaptEx.exe vai fazer uso das duas para gerar os dois apk e depois uni em um só, foi usado o ZipForge para manipular os dois apks

Download fontes do apk biometria em delphi + fonte do aaptEx.exe

Local onde o aaptEx.exe foi colocado em meu caso:


Os arquivos do projeto ficou desta forma:


Hoje fui testar , ao acionar o botão login no meu aparelho ele dá a seguinte mensagem :
"Fingerprint is not registered in device"
_________________
Porgramador Delphi - Mobile
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Ter Jan 21, 2020 8:58 am    Assunto: Responder com Citação

O dispositivo não possui suporte, ou não possui o sensor de impressão digital.


Neste caso você pode trocar a mensagem por um painel de pin, exemplo quando há suporte exibe a caixa para impressão digital, quando não exibe um painel numérico para entrar com uma senha.

Basicamente é isso.

Você sabendo interceptar se há ou não suporte você pode então exibir um teclado para senha.

O fonte só é funcional se o dispositivo possuir o sensor de impressão digital e se o dispositivo é suportado pela sdk.
_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Ter Jan 21, 2020 9:03 am    Assunto: Responder com Citação

Fingerprint is not registered in device

Se bem que esta mensagem indica que você não possui nenhum impressão cadastrada no Android.

Você tentar cadastrar um digital e voltar a testar.
_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
strak2012
Colaborador
Colaborador


Registrado: Segunda-Feira, 13 de Janeiro de 2014
Mensagens: 1518
Localização: Maceió - AL

MensagemEnviada: Ter Jan 21, 2020 9:04 am    Assunto: Responder com Citação

Também pode vê se consegue chamar as configuração para cadastro de digital, que deverá ser por intent não saberia dizer como fazer isso agora mais é possível.
_________________
Tudo podemos quando tudo sabemos!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Mobile com Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB