0

更新:

管理对gmail的加载进行排序。

现在,当加载意图时,我无法设置 gmail 的“收件人”、“主题”和“消息”字段。

显示我的电子邮件布局的屏幕截图:

在此处输入图像描述

显示已加载 gmail 意图的屏幕截图。但是没有从传递的详细信息中设置字段。

在此处输入图像描述

代码:

@Override
public void onClick(View sendEmailClick) {


    Intent sendEmailIntent = new Intent(Intent.ACTION_SEND); 
    sendEmailIntent.setType("plain/text");
       sendEmailIntent.putExtra(Intent.EXTRA_EMAIL, emailAdd);  
       sendEmailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSub); 
       sendEmailIntent.putExtra(Intent.EXTRA_TEXT, emailMess); 
       startActivity(Intent.createChooser(sendEmailIntent, "Send email"));

       //startActivity(Intent.createChooser(sendEmailIntent, "Send email..."));
}
4

4 回答 4

1

如果默认电子邮件客户端没有帐户,则不应为Intent.ACTION_SEND. 确保您已将帐户添加到应用程序并尝试再次发送您的电子邮件。如前所述,使用"text/plain"as 类型。

根据我在短时间内可以找到的信息:

<activity
            android:name=".activity.MessageCompose"
            android:label="@string/compose_title"
            android:enabled="false"
            android:theme="@android:style/Theme.Holo.Light"
            >

compose Activity 默认不启用,添加帐户后应启用。

于 2013-02-05T14:45:51.210 回答
0

您也可以在没有外部应用程序的情况下发送电子邮件:

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

String[] recipients = new String[]{"my@email.com", "",};

emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, recipients);

emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Test");

emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "This is email's message");

emailIntent.setType("text/plain");

startActivity(Intent.createChooser(emailIntent, "Send mail..."));

finish();
于 2013-02-05T14:46:54.387 回答
0
try {
    final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{recipient});
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
    emailIntent.setType("plain/text");
    startActivity(Intent.createChooser(emailIntent, "Send email"));
} catch (ActivityNotFoundException e) {
    Log.i("app name", "Unable to send email");
}
于 2013-02-05T14:50:20.920 回答
0

设法得到第二部分ti这个排序。您需要将其作为字符串数组传递给 Gmail,而不仅仅是纯字符串。希望这将在未来解决其他人的问题!

于 2013-02-05T16:36:47.623 回答