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
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
Curtir tópico
+ 0
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
Clique aqui para fazer login e interagir na Comunidade :)