Duplicata possible:
Courriel de la mémoire interne
Le courrier électronique est reçu par le destinataire, mais sans pièce jointe. Voici le code, tout expert sait où je me suis trompé?
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"[email protected]"});
intent.putExtra(Intent.EXTRA_SUBJECT, "subject here");
intent.putExtra(Intent.EXTRA_TEXT, "body text");
File root = Environment.getExternalStorageDirectory();
File file = new File(root, xmlFilename);
if (!file.exists() || !file.canRead()) {
Toast.makeText(this, "Attachment Error", Toast.LENGTH_SHORT).show();
finish();
return;
}
Uri uri = Uri.parse("file://" + file);
intent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(intent, "Send email..."));
Je ne reçois aucun message de toast. Merci.
Essayer:
Uri.fromFile(file);
au lieu de:
Uri.parse("file://" + file);
Essayez aussi text/xml
pour votre type MIME, en supposant qu'il s'agit d'un fichier XML comme le suggère le nom de votre variable.
Le fichier n'est probablement pas lisible dans le monde entier.
EDIT: en effet. Essayez de faire ceci:
Uri uri = Uri.parse("file://" + file.getAbsolutePath());