Pièces jointes en e-mail
-
27-10-2019 - |
Question
Je développe une application qui nécessite d'envoyer un courriel à une personne. Tout fonctionne bien, sauf la pièce jointe. Et voici le morceau de code pour que
emailIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse( "file://"+Environment.getExternalStorageDirectory()+""+attach));
joindre est le fichier que je suis arrivé en naviguant dans le téléphone. Mais la pièce jointe ne sont pas envoyées S'il vous plaît Aide.
Thanx
La solution
D'après mes blogpost trouvé ici :
Créer un message sur Android que l'utilisateur peut envoyer à l'application de sa le choix est largement répandu sur le net. Mais ce n'est pas comment vous joignez un fichier qui seront envoyés par googlemail.
Le problème ici est que l'application gmail ne veulent que d'envoyer des fichiers qui sont situés sur la carte SD
Intent mail = new Intent(android.content.Intent.ACTION_SEND); mail.setType("application/octet-stream"); mail.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"my@mail.com"}); mail.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject"); mail.putExtra(android.content.Intent.EXTRA_TEXT, "Message"); mail.putExtra(android.content.Intent.EXTRA_STREAM, Uri.parse("file://" + Environment.getExternalStorageDirectory().getAbsolutePath() + "/file.txt")); PrefAct.startActivity(Intent.createChooser(mail, "Send mail via..."));
Comme le dit gmail refusera votre attachement lorsque l'utilisateur envoie le courrier lorsque le fichier ne se trouve pas sur le ExternalStorage.