9 votes

Envoyer un email avec un objet bitmap en pièce jointe sous Android ?

Je veux envoyer le bitmap comme pièce jointe dans le courrier. L'image n'est pas stockée dans la SDCARD ou ailleurs dans l'appareil. L'objet bitmap est créé au moment de l'exécution et doit être envoyé en tant que pièce jointe.

9voto

Cristian Points 92147

Ensuite, vous devez sauvegarder le bitmap sur la carte SDCard, puis le joindre à l'e-mail (je suppose que vous avez l'habitude de le faire). savoir comment le faire ).

Pourquoi est-il nécessaire de l'enregistrer sur la SDCard ? C'est parce que l'application de messagerie devra lire le fichier qui sera joint ; vous devez donc transmettre le chemin et le nom du fichier au client de messagerie. Comme toute autre application, le client de messagerie ne peut accéder qu'aux fichiers stockés dans son propre répertoire privé ou sur la SDCard.

4voto

sravan Points 2403
/* Return Drawable Object from Specified imageUrl In Web

 @imageUrl : image Url in Web

 */

try {
/// Getting image from Web
    InputStream is = (InputStream) new URL(imageUrl).getContent();
    // storing image from stream
    drawable = Drawable.createFromStream(is, "srcName");
    is.close();
    // converting drawable object to Bitmap to store in content providers of Media
    Bitmap bitmap = ((BitmapDrawable) drawable).getBitmap();
    // Store image in Devise database to send image to mail
    String path = Images.Media.insertImage(getContentResolver(), bitmap,"title", null);
    Uri screenshotUri = Uri.parse(path);
    final Intent emailIntent1 = new Intent(     android.content.Intent.ACTION_SEND);
    emailIntent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    emailIntent1.putExtra(Intent.EXTRA_STREAM, screenshotUri);
    emailIntent1.setType("image/png");
    startActivity(Intent.createChooser(emailIntent1, "Send email using"));

}
catch(Exception e) { }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X