AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Android Foto aufnehmen DoDidFinish wird nicht getriggered
Thema durchsuchen
Ansicht
Themen-Optionen

Android Foto aufnehmen DoDidFinish wird nicht getriggered

Ein Thema von lereis · begonnen am 7. Jan 2020 · letzter Beitrag vom 7. Jan 2020
 
lereis

Registriert seit: 6. Jul 2019
7 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Android Foto aufnehmen DoDidFinish wird nicht getriggered

  Alt 7. Jan 2020, 20:55
Hast du schon geprüft ob das Setzen der Berechtigungen funktioniert hat?

Alternativ kannst du es über eine ActionList versuchen.

http://docwiki.embarcadero.com/RADSt...g_Action_Lists

Damit klappt es bei mir ohne Probleme.
Da bekomme ich den Fehler: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(an droid.content.pm.PacketManager,java.lang.String)' on a null space reference
Delphi-Quellcode:
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, System.Actions,
  FMX.ActnList, FMX.StdActns, FMX.MediaLibrary.Actions, FMX.Objects,
  FMX.StdCtrls, FMX.Controls.Presentation, System.Permissions, FMX.DialogService,
  {$IFDEF ANDROID}
    Androidapi.Jni.Os,
    Androidapi.Helpers
  {$ENDIF};
type
  TForm1 = class(TForm)
    ToolBar1: TToolBar;
    btnCaptureImage: TButton;
    btnSearchImage: TButton;
    btnShare: TButton;
    Image1: TImage;
    ActionList1: TActionList;
    TakePhotoFromCameraAction1: TTakePhotoFromCameraAction;
    procedure TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
    procedure FormShow(Sender: TObject);
  private
    { Private-Deklarationen }
    FPermissionCamera: string;
    FPermissionReadStorage: string;
    FPermissionWriteStorage: string;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.FormShow(Sender: TObject);
begin
  FPermissionCamera := JStringToString(TJManifest_permission.JavaClass.CAMERA);
  FPermissionReadStorage := JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE);
  FPermissionWriteStorage := JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE);

  PermissionsService.RequestPermissions([FPermissionCamera,FPermissionReadStorage,FPermissionWriteStorage],
   procedure(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
          TDialogService.ShowMessage('permissions granted')
        else
        begin
          TDialogService.ShowMessage('permissions not granted');
        end;
      end
  );
end;

procedure TForm1.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin
  Image1.Bitmap.Assign(Image);
end;

end.
Die Permissions habe ich selbst hinzugefügt, da die ja sonst fehlen.
Es kommt auch die Meldung "Permissions granted" und beim Drücken auf den Camera Button kommt die oben genannte Fehlermeldung

Geändert von lereis ( 7. Jan 2020 um 21:00 Uhr)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz