Einzelnen Beitrag anzeigen

Siggi

Registriert seit: 19. Jun 2004
Ort: Lollar
52 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Umgang mit Google Play Store Warnings "API"

  Alt 29. Mär 2021, 20:44
Hi,

über eine FMX.Media.TCameraComponent wird ein Bitmap erzeugt:

CameraComponent1.SampleBufferToBitmap(imgCamera.Bi tmap, True);

Die Bitmap wird dann an den ZXING ScanManager übergeben:

ReadResult := ScanManager.Scan(fScanBitmap);

Wenn ich darüber nachdenke, ist hier ZXing eher nicht mit der Camera in Verbindung zu bringen, sondern die Delphi-Standardkomponente.
Aber wenn es die FMX-Standard-Componente ist, sollte die doch keine Android-Warnung auslösen?

Berechtigungen werden entsprechend eingeholt:
fPermissionCamera := JStringToString(TJManifest_permission.JavaClass.CA MERA);

Code:
procedure TMainForm.CameraPermissionRequestResult(Sender: TObject;
  const APermissions: TArray<string>;
  const AGrantResults: TArray<TPermissionStatus>);
begin
  if (Length(AGrantResults) = 1) and
    (AGrantResults[0] = TPermissionStatus.Granted) then
  begin
    CameraComponent1.Active := false;
    CameraComponent1.Quality := FMX.Media.TVideoCaptureQuality.MediumQuality;
    CameraComponent1.Kind := FMX.Media.TCameraKind.BackCamera;
    CameraComponent1.FocusMode := FMX.Media.TFocusMode.ContinuousAutoFocus;
    CameraComponent1.Active := True;
    lblScanStatus.Text := '';
  end
  else
    TDialogService.ShowMessage (rsNoPermission)
end;

procedure TMainForm.ExplainReason(Sender: TObject;
  const APermissions: TArray<string>; const APostRationaleProc: TProc);
begin
  TDialogService.ShowMessage
    (rsNeedPermissionCamera,
    procedure(const AResult: TModalResult)
    begin
      APostRationaleProc;
    end)
end;


Grüße,
Siggi

Geändert von Siggi (29. Mär 2021 um 20:57 Uhr)
  Mit Zitat antworten Zitat