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.
Réponses
Trop de publicités?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.
/* 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) { }