Sto scrivendo un editor di immagini in Android. Finora ha una singola attività. Da questa attività, posso caricare un'immagine utilizzando un'opzione di menu che richiama l'attività Galleria e in onActivityResult, tratta l'immagine ricevuta per dipingere la mia tela in modo da poterla modificare. Funziona beneFiltro intento: intent.getData() restituisce null
Quello che mi piacerebbe fare ora è rendere questa attività richiamabile da qualsiasi altra parte, quindi, invece di dover selezionare un'immagine dall'interno dell'attività, potrei semplicemente aprire la Galleria, scegliere una foto e inviarla alla mia app . Ma non riesco a capire come.
Sul mio manifesto, ho messo il seguente all'interno delle <activity>
tag:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
Poi, nella mia attività, come detto in http://developer.android.com/training/basics/intents/filters.html, ho messo il seguente all'interno onCreate():
Quando installo l'app nel mio telefono e poi apro la Galleria, posso scegliere un'immagine e usare il menu "invia" e la mia app apparirà nell'elenco delle app, ma quando selezionarla la mia app si aprirà ma ignora l'immagine. Si scopre che l'uri che ottengo da intent.getData()
è nullo e non riesco a capire perché.
Sto facendo qualcosa di sbagliato? Sto dimenticando qualcosa? Se devi sapere, sono in azione Android 2.3 utilizzando la galleria CoolIris fornita con esso.
Questo è esattamente quello che mi serviva. Grazie! Quindi, la documentazione di Google è errata o ho letto male qualcosa? – ziritrion
Vedere il documento ACTION_SEND, spiega l'input che dovresti mettere a fuoco. – dreamtale