La pièce jointe ne vient pas par courrier par programme

Je joigne un fichier TEXT au courrier électronique avec le code:

Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "abc@gmail.com", null)); emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Report"); emailIntent.putExtra(Intent.EXTRA_TEXT, prepareBodyMail()); File root = Environment.getExternalStorageDirectory(); File file = new File(root, "/MyFolder/report.txt"); Uri uri = Uri.fromFile(file); emailIntent.putExtra(Intent.EXTRA_STREAM, uri); startActivity(Intent.createChooser(emailIntent, "Pick an Email provider")); 

Ce code fonctionne parfaitement avec Gmail, le courrier électronique et d'autres applications

  • Comment gérer l'événement de clic dans Listview dans Android?
  • Comment lancer l'application Calendrier Android en utilisant Intent (Froyo)
  • Communiquez avec Activity from Service (LocalService) - Best Practices d'Android
  • Bouton Android surClickListener
  • Android Intention pour envoyer un courrier électronique avec pièce jointe
  • SecurityException: Non autorisé à démarrer le service Intention act = com.google.android.c2dm.intent.REGISTER
  • Mais ceci n'attache pas le fichier avec l'application INBOX par Google

    Seul le corps et le sujet arrivent sans pièce jointe

    J'ai signalé ce problème aux Groupes Google au problème de la boîte de réception

    Est-ce que quelqu'un peut aider ce qui me manque dans le code?

  • Java.lang.RuntimeException: Handler (android.os.Handler) envoie un message à un gestionnaire sur un thread mort
  • Android continue de mettre en cache mes intentions Extras, comment déclarer une intention en attente qui garde de nouveaux extras?
  • Test de ce bouton démarre une activité avec Robolectric
  • Android-Libgdx, appeler une autre activité après le lancement du jeu sur le bouton de clic
  • EXCEPTION FATALE: principal java.lang.NoClassDefFoundError: android.support.v7.internal.widget.TintManager
  • Comment puis-je transférer les paramètres d'intention via des chaînes d'activités?
  • 4 Solutions collect form web for “La pièce jointe ne vient pas par courrier par programme”

    Essaye ça

      Uri myUri = Uri.parse("file://" + path); emailIntent.putExtra(Intent.EXTRA_STREAM, myUri); 
     String fileLocation = Environment.getExternalStorageDirectory() + "/MyFolder/report.txt"; String to[] = {"abc@gmail.com"}; Intent intentEmail = new Intent(Intent.ACTION_SEND); intentEmail.setType("vnd.android.cursor.dir/email"); intentEmail.putExtra(Intent.EXTRA_EMAIL, to); intentEmail.putExtra(Intent.EXTRA_STREAM, fileLocation); intentEmail.putExtra(Intent.EXTRA_SUBJECT, "Subject"); startActivity(Intent.createChooser(intentEmail , "Pick an Email provider")); 
     Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"email@example.com"}); 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.fromFile("file://" + file); intent.putExtra(Intent.EXTRA_STREAM, uri); startActivity(Intent.createChooser(intent, "Send email...")); 
      public void sendMailWithIntent(String emailTo, String subject, String emailText, List<String> filePaths) { try { //need to "send multiple" to get more than one attachment final Intent emailIntent = new Intent(Intent.ACTION_SEND_MULTIPLE); emailIntent.setType("text/plain"); emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, Util.extractEmails(emailTo)); // emailIntent.putExtra(android.content.Intent.EXTRA_CC, // new String[]{emailCC}); emailIntent.putExtra(Intent.EXTRA_SUBJECT, subject); emailIntent.putExtra(Intent.EXTRA_TEXT, emailText); ArrayList<Uri> uris = new ArrayList<Uri>(); //has to be an ArrayList if (filePaths != null) { //convert from paths to Android friendly Parcelable Uri's for (String file : filePaths) { File fileIn = new File(file); Uri u = Uri.fromFile(fileIn); uris.add(u); } } emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris); Intent chooser = Intent.createChooser(emailIntent, "Send mail..."); activity.startActivityForResult(chooser, 1); } catch (Exception e) { new ShowToast(context, e.getMessage()); } } 

    Méthode d'appel

      List<String> list = new ArrayList<>(); list.add(TO_ATTACH_ONE); list.add(TO_ATTACH_TWO); sendMailWithIntent(toAddresses, subject, body, list); 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.