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

  • Envoi de pause au composeur
  • Comment appeler une méthode en activité à partir d'un service
  • Comment attacher des données privées à l'événement du calendrier Android
  • BroadcastReceiver pour ACTION_MEDIA_BUTTON ne fonctionne pas
  • Pourquoi mon application n'est-elle pas sur la liste des applications pour ouvrir le fichier txt?
  • Dans Android: Comment appeler la fonction d'activité d'un service?
  • 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?

  • Problèmes de partage de texte et d'image avec SHARE INTENT sur Twitter
  • Filtre d'intention pour lancer Mon activité lorsque l'URI personnalisé est cliqué
  • Ouvrir Google Maps dans le but d'un emplacement spécifique dans Android
  • Comment éviter l'écran noir sur startActivity lorsque FLAG_ACTIVITY_CLEAR_TASK est activé?
  • En Android si le système d'exploitation tue ma demande, getIntent () renvoie l'intention avec les mêmes extras?
  • Des extras incorrects reçus avec toutes les intentions, mais le premier
  • 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.