Ich habe die folgende Schaltfläche in meiner Aktivität, die die Galerie öffnet, um einzelne oder mehrere Bilder auszuwählen, und darunter die Funktion OnActivityResult
, die das Ergebnis als RESULT_CANCELLED
für mehrere Bilder und RESULT_OK
für zurückgibt ein einzelnes Bild. Nicht sicher, warum es passiert. Kann mir bitte jemand helfen.
Ich erhalte data.getData()
als null
, data.getExtras()
als null
.
Kann mir jemand sagen, wie ich die erforderlichen Ergebnisse aus dem obigen Code herausholen kann? Ich möchte die URIs
aller Bilder, die der Benutzer aus der Galerie auswählt.
PS: Es funktioniert gut für ein einzelnes Bild, nicht sicher warum.
Endlich habe ich die Lösung dafür. Wenn EXTRA_ALLOW_MULTIPLE
verwendet wird und mehr als ein Inhalt vom Benutzer ausgewählt wird, werden die Daten aus der Absicht in intent.getExtra()
zurückgegeben und nicht nur in SDK-Versionen 18 und höher . Von dort können die Daten mit dem folgenden Code abgerufen werden - & gt;
Ich habe den Null-Check für ClipData
gesetzt, weil bei einem einzelnen Bild die Daten in intent.getData()
empfangen werden, während es bei Mehrfachauswahl als intent.getData()
empfangen wird.
Für sdk-Versionen unter 18 und für die einfache Auswahl (unabhängig von der SDK-Version) können die Daten einfach auf folgende Weise abgerufen werden:
%Vor%Tags und Links android android-intent