Delphi Firemonkey wählt mehrere Bilder aus der Galerie gleichzeitig aus

9

Ich muss eine Funktion in meiner Android App erstellen, die es dem Benutzer ermöglicht, die Telefongalerie zu öffnen, mehr als ein Bild pro Mal auszuwählen und dann die ausgewählten Bilder in meiner lokalen Datenbank zu speichern. Was ich brauche, ist die Art, Android Intent zu verwenden, um die ausgewählten Bilder (Dateiname und Pfad) zu erhalten. Ich hoffe, Sie können meine Frage verstehen.

Ich benutze diesen Code:

%Vor%

Leider kann dieser Code ein Bild ein Mal aus der Galerie zurückgeben.

Bearbeiten - Basierend auf der Antwort von Nick Cardoso funktioniert der folgende Code für die erster Teil des Problems:

%Vor%

Der obige Code funktioniert, um mehrere Bilder auszuwählen. Jetzt bin ich auf der Suche nach einer Lösung, um die ausgewählten Dateien in Delphi (in einer Callback-Funktion) zurück zu bekommen.

    
Gianluca Colombo 12.03.2017, 21:06
quelle

1 Antwort

2

Ich beginne mit einem Disclaimer - ich schreibe nicht Delphi . Ihre Frage war das erste Mal, dass ich von FireMonkey gehört habe und ich erwarte, dass das auch für die meisten Android-Entwickler gilt (daher die niedrige Antwortrate).

Mein Verständnis ist, dass hinter den Kulissen Firemonkey normale Android Intents auslöst, um mit Standardkomponenten zu interagieren. Das heißt, wenn wir die Absicht auf eine ändern können, die mehrere Bilder zurückgibt, haben wir eine Lösung.

Wenn Sie nur auf Android 18 und höher ausgerichtet sind, müssen Sie lediglich die EXTRA_ALLOW_MULTIPLE extra zu der vorhandenen Fotoauswahl-Absicht hinzufügen. Mit reinem Android ist das so einfach wie das Hinzufügen und Lesen der Clip-Daten (wie in diese Antwort ):

%Vor%

Wenn Sie auf ältere Android-Versionen abzielen, können Sie stattdessen eine benutzerdefinierte Bibliothek wie diese hinzufügen (oder einer dieser ) in Ihr Projekt ein und richten Sie diese Aktivität mit einer neuen Absicht aus.

Meine Forschung zeigt, dass Firemonkey benutzerdefinierte Aktionen zulässt, die Sie recherchieren müssen selbst, wie man einen implementiert, wie Sie den Code besser verstehen, den Sie lesen.

Allerdings dieser Beitrag (), der wie erforderlich zu lesen scheint ) hat mir gezeigt, dass es möglich ist, eigene Intents zu erstellen, was bedeutet, dass der Code in der ersten Aktion ähnlich ist (Wenn Sie die Quellen für die aktuelle TakeImageFromLibrary-Aktion finden, können Sie Ihren Code darauf aufbauen) :

%Vor%

Zusätzliche Notiz: Standardverhalten für die Auswahl von mehreren in der Galerie ist lange drücken

    
Nick Cardoso 19.03.2017 20:13
quelle

Tags und Links