2010-12-13 30 views
4

J'ai développé une application android qui prend une photo, appelle un service web et envoie les deux documents (l'image et la réponse du service web) avec l'intention ACTION_SEND_MULTIPLE. Cette action nécessite que les données soient passées en tant que ArrayList<? extends Parcelable>; Par conséquent, l'application stocke les données dans des fichiers temporaires et crée deux objets Uri à partir de ces fichiers. L'inconvénient principal est que l'application ne peut pas supprimer ces fichiers temporaires car il n'est pas possible de déterminer si l'activité appelée a traité les données.Envoi de données octets [] à une activité sans créer de fichier

Est-il possible d'envoyer des données (type de données byte[]) avec un ACTION_SEND ou ACTION_SEND_MULTIPLE sans créer de fichiers temporaires?

Merci

Répondre

1

bien sûr! si vous supposez que vous avez des données dans octet [] données, vous pouvez le faire comme ça.

Intent i = new Intent(Intent.ACTION_SEND) ; 

i.setType("your mime type here"); 

i.putExtra(Intent.EXTRA_STREAM, data); 

startActivity(Intent.createChooser(i,"Send this To:")); 
+1

Malheureusement, cela ne semble pas fonctionner. J'ai essayé avec l'application GMail ou Dropbox qui gère ACTION_SEND mais selon la pile dans le moniteur de débogage les deux applications attendent l'URI comme paramètres EXTRA_STREAM. – Jcs