App Mobile voltando para tela de Login após foto batida
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
Curtidas 0
Respostas
Matheus
22/12/2020
Esqueçam o componente "CameraComponent1.Active := true;" ativo ali, foi um teste e no código esqueci de retirar para o post!!!!
GOSTEI 0