Sto tentando di ricevere un'immagine dalla Galleria Android tramite un intento ACTION_SEND. Ho impostato i filtri di intent corretto e Gallery apre la mia app. Ora voglio sapere come ottenere i dati dell'immagine. Non riesco a trovare alcun esempio su Internet di come è fatto. Immagino che il percorso sia da qualche parte in intent.getData() ma in che modo esattamente estraggo quell'immagine dalla galleria?Ricezione di un intento ACTION_SEND dalla Galleria
8
A
risposta
15
Trovato nel sorgente Picasa. Dà il percorso corretto dell'immagine.
Intent intent = getIntent();
if (Intent.ACTION_SEND.equals(intent.getAction())) {
Bundle extras = intent.getExtras();
if (extras.containsKey(Intent.EXTRA_STREAM)) {
Uri uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM);
String scheme = uri.getScheme();
if (scheme.equals("content")) {
String mimeType = intent.getType();
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(uri, null, null, null, null);
cursor.moveToFirst();
String filePath = cursor.getString(cursor.getColumnIndexOrThrow(Images.Media.DATA));
0
Non sono sicuro circa l'intenzione SEND, ma quando si maneggiano i rendimenti da intenti PICK al MediaStore per una foto, è più o meno così:
Uri selectedImage = intent.getData();
AssetFileDescriptor fd = getContentResolver()
.openAssetFileDescriptor(selectedImage, "r");
FileInputStream s = fd.createInputStream();
// your image data processing code here
Attenzione però - si può lavorare con i file 5+ megapixel , che può essere abbastanza grande (specialmente se non li si comprime in bitmap da elaborare) e la memoria è piuttosto limitata.
Problemi correlati
- 1. Come allegare un bitmap quando si lancia ACTION_SEND intento
- 2. Android opzione intento action_send per una sola volta
- 3. Singolo intento di consentire all'utente di scattare foto O di prelevare un'immagine dalla galleria in Android
- 4. Solo ricezione di un byte dalla presa
- 5. Immagine proveniente dalla fotocamera o dalla galleria?
- 6. Android: modifica intento immagine
- 7. Android ottiene solo l'immagine dalla galleria
- 8. Viene prelevata un'immagine Android dalla galleria ruotata
- 9. Impostazione dell'immagine scattata dalla galleria a UIImageView
- 10. Scegli un file dalla scheda SD utilizzando Intento
- 11. Scegli un'immagine dalla fotocamera o dalla galleria utilizzando PhoneGap
- 12. Come aprire un album nell'app Galleria utilizzando un intent
- 13. Android Come posso recuperare la foto di Picasa dalla galleria integrata?
- 14. Condivisione file di testo utilizzando ACTION_SEND
- 15. Salvataggio/recupero di JPEG dalla galleria utente senza ricompressione
- 16. Caricamento di tutte le immagini dalla galleria nell'applicazione in Android
- 17. come nascondere le immagini dalla galleria di Android
- 18. Filtro intento: intent.getData() restituisce null
- 19. Disabilitare i tocchi di ricezione dalla vista genitore nella sottoview
- 20. Ricezione di un'immagine trascinata dalla pagina Web alla finestra WPF
- 21. Ricezione di dati json indietro dalla richiesta http
- 22. Intento per ottenere più immagini
- 23. Selezione di più foto dalla galleria di immagini di un dispositivo mediante PhoneGap
- 24. su attività risultato camera intento return null in samsung s4
- 25. Finestra di dialogo per prelevare l'immagine dalla galleria o dalla fotocamera
- 26. Ottieni percorso e nome file dalla telecamera Risultato intento
- 27. Ritaglia mentre selezioni dalla Galleria su Android 4.4
- 28. Come caricare un'immagine nella vista immagine dalla galleria?
- 29. Come accedere a un'immagine dalla galleria fotografica del telefono?
- 30. Carica un'immagine dalla fotocamera o galleria in WebView
In quale file e dove si trova questo file. –