2016-06-05 29 views
0

ich für Bilder aus einer Galerie App bin gefragt:Google Fotos zurückkehren inverse Fotos bestellen, wenn für EXTRA_ALLOW_MULTIPLE fragen

Intent intent = new Intent(Intent.ACTION_PICK); 
intent.setType("image/*"); 
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); 

ich die Ergebnisse wie folgt zu lesen:

ClipData clipData = data.getClipData(); 
Uri[] uris = new Uri[clipData.getItemCount()]; 
for (int i = 0; i < uris.length; i++) { 
    uris[i] = clipData.getItemAt(i).getUri(); 
} 

Ich habe bemerkt, dass, wenn Ich verwende Google Fotos als Galerie. Die Ergebnisse werden in umgekehrter Reihenfolge wie in Google Fotos angezeigt.

Ist das absichtlich, konsistent oder dokumentiert?

Antwort

0

Zuerst ist ACTION_PICK die falsche Intent Aktion. Wenn Sie the documentation for ACTION_PICK lesen, können Sie Inhalte aus einer bestimmten Sammlung auswählen. Der MIME-Typ ist keiner der dokumentierten Eingabewerte. ACTION_GET_CONTENT dient zum Auswählen von Inhalt basierend auf einem MIME-Typ.

Zweitens, beachten Sie, dass EXTRA_ALLOW_MULTIPLE is for use with ACTION_GET_CONTENT and ACTION_OPEN_DOCUMENT. Wenige Implementierungen von ACTION_PICK werden daher dieses Extra ehren.

Drittens gibt es keine Anforderung für die Uri Werte, die von einer EXTRA_ALLOW_MULTIPLE Anfrage in einer bestimmten Reihenfolge zurückgegeben werden. Es gibt Tausende von möglichen Apps, die auf Ihre Anfrage antworten und Ihnen die Ergebnisse in der von Ihnen gewünschten Reihenfolge senden können. Insbesondere adressiert the documentation for EXTRA_ALLOW_MULTIPLE die Reihenfolge nicht.

Wenn die Bestellung in Ihrer App von Bedeutung ist, erstellen Sie Ihre eigene Benutzeroberfläche, um die Bestellung zu bestätigen. Bieten Sie eine bequeme Ein-Klick- "Reverse" -Option, zusätzlich zu Drag-and-Drop, um beliebige Änderungen zu ermöglichen. Schließlich muss der Benutzer während der Inhaltsauswahl nicht erkennen, dass die Bestellung von Bedeutung ist, und so ist selbst die Reihenfolge, in der der Benutzer den Inhalt auswählt, nicht die tatsächliche Wunschbestellung des Benutzers.

+0

Vielen Dank! Nach dem Wechsel zu GET_CONTENT öffnet mein Nexus 4 eine neue Art von Bildschirm (keine "Galerie auswählen") mit einer Liste von Galerien + Liste von Ordnern + Apps wie Google Drive. Die Auswahl mehrerer Fotos in den "nativen" Ordnern funktioniert genau so, wie ich es von der Reihenfolge her erwartet habe. Ich denke, Google-Fotos verhalten sich schlecht - sie zeigen die Bilder in einer bestimmten Reihenfolge, also würde ich erwarten, dass sie es an den Anrufer in der gleichen Reihenfolge zurückgeben. –