App Mobile voltando para tela de Login após foto batida

22/12/2020

0

Boa tarde Galera

Tenho um app desenvolvido em Delphi XE 10.3 rio na plataforma Android.

Basicamente possui um Timage, um btn e um actionlist, onde o btn aciona a camera do actionlist (PhotoLibrary), e após a foto ser tirada, o evento OnDidFinishTaking faz o Timage receber a foto.

Ocorre que quando a resolução da camera do tablet esta em fullHD, ou em uma resolução muito alta, o app após a foto, quando confirma-se na tela, ele fecha e volta para a tela de login.
Vou postar o código aqui, quem tiver alguma ideia :)

/// PROCEDURE QUE LIBERA PERMISSÃO PARA ATIVAR A CAMERA

procedure TFormFotosVistoria.TakePicturePermissionRequestResult(
Sender: TObject; const APermissions: TArray<string>;
const AGrantResults: TArray<TPermissionStatus>);
begin

if (Length(AGrantResults) = 3) and
(AGrantResults[0] = TPermissionStatus.Granted) and
(AGrantResults[1] = TPermissionStatus.Granted) and
(AGrantResults[2] = TPermissionStatus.Granted) then

else
TDialogService.ShowMessage('Você não tem permissão para tirar fotos');
end;


/// ATIVANDO A CAMERA PELO BTN

procedure TFormFotosVistoria.btnAtivaCameraClick(Sender: TObject);
begin
{$IFDEF ANDROID}

PermissionsService.RequestPermissions([PermissaoCamera,
PermissaoReadStorage,
PermissaoWriteStorage],
TakePicturePermissionRequestResult,
DisplayMessageCamera
);


CameraComponent1.Active := true;

{$ENDIF}

{$IFDEF IOS}
ActPhotoCamera.Execute;
{$ENDIF}
end;

/// EVENTO OnDidFinishTaking que envia a foto para o Timage

procedure TFormFotosVistoria.ActPhotoCameraDidFinishTaking(Image: TBitmap);
begin

ImageFoto.Bitmap.Assign(Image);

end;


Vlwww
Matheus

Matheus

Responder

Posts

22/12/2020

Matheus

Esqueçam o componente "CameraComponent1.Active := true;" ativo ali, foi um teste e no código esqueci de retirar para o post!!!!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar