0

I have tried to send Email through Android Intent by using below code

    Intent sendIntent = new Intent();

    sendIntent.putExtra(Intent.EXTRA_TEXT, EmailContent);
    sendIntent.putExtra(Intent.EXTRA_EMAIL, RecipientName );
    sendIntent.putExtra(Intent.EXTRA_SUBJECT , subject );
    sendIntent.setType("message/rfc822");
    sendIntent.setAction(Intent.ACTION_SEND);

    Intent chooser = Intent.createChooser(sendIntent , chooser_title );

    if (sendIntent.resolveActivity(getPackageManager()) != null) {
        startActivity(chooser);
    }

In the email app the recipient details are not getting update whereas all the other details such as subject, body is getting updated with my input . Could you please suggest what needs to be done to resolve this .

3 Answers3

0

Try to pass the EXTRA_EMAIL as string array.

Guna Sekaran
  • 99
  • 1
  • 1
  • 11
0
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
            "mailto","abc@gmail.com", null));
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
emailIntent.putExtra(Intent.EXTRA_TEXT, "Body");
startActivity(Intent.createChooser(emailIntent, "Send email..."));
Ravi
  • 2,277
  • 3
  • 22
  • 37
0

Try using this:- Create String resource for recipients:-

    <string-array name="receipients">
    <item>mgf@kgf.co</item>
    <item>sdf@kgf.co</item>
</string-array>

and use this intent

     Intent gmailIntent = new Intent(Intent.ACTION_SEND);
        gmailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        gmailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, resources.getStringArray(R.array.receipients));
        gmailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,subject);
        gmailIntent.putExtra(android.content.Intent.EXTRA_TEXT, EmailContent);
        gmailIntent.setType("message/rfc822");
            gmailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
        final PackageManager pm = context.getApplicationContext().getPackageManager();
        final List<ResolveInfo> matches = pm.queryIntentActivities(gmailIntent, 0);
        ResolveInfo best = null;
        for (final ResolveInfo info : matches)
            if (info.activityInfo.packageName.endsWith(".gm") ||
                    info.activityInfo.name.toLowerCase().contains("gmail")) best = info;
        if (best != null)
            gmailIntent.setClassName(best.activityInfo.packageName, best.activityInfo.name);


        try {
           startActivity(gmailIntent);
        } catch (ActivityNotFoundException ex) {
            Toast.makeText(context.getApplicationContext(), getString(R.string.you_do_not_have_gmail_installed), Toast.LENGTH_SHORT).show();
        }
Rahul Samaddar
  • 244
  • 2
  • 8