Multiple Photo not sending to gmail using Intent

后端 未结 3 489
时光说笑
时光说笑 2020-12-12 07:47

I am new to android and trying to send the multiple files to gmail using the Intent. But its not sending the attached files. Please help me for this.

Below is the my

相关标签:
3条回答
  • 2020-12-12 08:21

    UPDATE

    try with full path like this

    uris.add(Uri.fromFile(new File(Environment.getExternalStorageDirectory()+"/foldername/certi/qualifications.jpg")));
    

    use this

    Intent share = new Intent(android.content.Intent.ACTION_SEND_MULTIPLE); 
    

    instead of

    Intent share = new Intent(android.content.Intent.ACTION_SEND);
    

    try this

     Intent ei = new Intent(Intent.ACTION_SEND_MULTIPLE);
                ei.setType("plain/text");
                ei.putExtra(Intent.EXTRA_EMAIL, new String[] {"email id"});
                ei.putExtra(Intent.EXTRA_SUBJECT, "That one works");
    
                ArrayList<String> fileList = new ArrayList<String>();
                fileList.add(Environment.getExternalStorageDirectory()+"/foldername/certi/qualifications.jpg");
                fileList.add(Environment.getExternalStorageDirectory()+"/foldername/certi/certificate.jpg");
                fileList.add(Environment.getExternalStorageDirectory()+"/foldername/Aa.pdf");
    
                ArrayList<Uri> uris = new ArrayList<Uri>();
                //convert from paths to Android friendly Parcelable Uri's
    
                for (int i=0;i<fileList.size();i++)
                {
                    File fileIn = new File(fileList.get(i));
                    Uri u = Uri.fromFile(fileIn);
                    uris.add(u);
                }
    
                ei.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
                startActivityForResult(Intent.createChooser(ei, "Sending multiple attachment"), 12345);
    
    0 讨论(0)
  • 2020-12-12 08:24

    Try following code which i have used for Multiple attachment in one of my project.

    public static void sendEmailWithMultipleAttachment(Context context,
            String caption, ArrayList<String> fileList) {
        Intent emailIntent = new Intent(
                android.content.Intent.ACTION_SEND_MULTIPLE);
        emailIntent.setType("application/octet-stream");
        emailIntent.setType("message/rfc822"); // use from live device
    
        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, caption);
    
        ArrayList<Uri> uris = new ArrayList<Uri>();
    
        for (String file : fileList) {
            File fileIn = new File(file);
            Uri u = Uri.fromFile(fileIn);
            uris.add(u);
        }
        emailIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, uris);
        context.startActivity(Intent.createChooser(emailIntent,
                "Select email application."));
    }
    

    Here, ArrayList<String> fileList will be array of path of images or any file.

    0 讨论(0)
  • 2020-12-12 08:28

    Here is sample working code in our prj

    ArrayList<Uri> imageUris = new ArrayList<Uri>();
    imageUris.add(Uri.fromFile(new File("/mnt/sdcard/Medplann/IMG.jpg"))); // Add your image URIs here
    imageUris.add(Uri.fromFile(new File("/mnt/sdcard/Medplann/Report.pdf")));
    
    Intent shareIntent = new Intent();
    shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE);
    shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
    shareIntent.setType("image/*");
    startActivity(Intent.createChooser(shareIntent, "Share images to.."));
    
    0 讨论(0)
提交回复
热议问题