Pegar data da aplicação android no Delphi

17/10/2020

4

Delphi - Firemonkey - Android

Olá.
Gostaria de obter a data da aplicação.apk de dentro dela mesma.

procedure TForm1.FormCreate(Sender: TObject);
Var Data:TDateTime; Info:JPackageInfo;
begin
    FileAge( 'caminho-da-aplicacao', Data ); // Retorna uma data maluca tipo '29/04/99' (nesse formato)

   Info := TAndroidHelper.Activity.getPackageManager.getPackageInfo(TAndroidHelper.Activity.getPackageName,0);
   Data := FileDateToDateTime( Info.firstInstallTime ); // Retornando o mesmo resultado de Fileage
End;   


Alguém teria uma solução para isso?
Responder

Posts

17/10/2020

Alberto

Resolvido.
o meu "caminho da aplicação" estava errado, agora o fileage retorna a data correta.


Uses Androidapi.JNI.GraphicsContentViewText;

Var Info:JPackageInfo; Data:TDateTime; Dir:String;
Begin
    Info := TAndroidHelper.Activity.getPackageManager.getPackageInfo(TAndroidHelper.Activity.getPackageName,0);
    Dir := JStringToString( Info.applicationInfo.sourceDir );
    FileAge( Dir, Data );


Obs:
No primeiro código postado, tentei pegar a data pelo JPackageInfo
que deveria retornar a data correta, mas as duas funcoes:
Info.firstInstallTime
Info.lastUpdateTime
que retornan data, retornam a data errada como informei acima.
Se alguem souber desvendar o porque disso, seria interessante.


Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar