发送电子邮件Android时,请避免打开Email客户端

时间:2013-01-11 16:10:18

标签: email android-intent email-client

我有一个普通的代码,通过Intent使用模拟器发送文本电子邮件。 我遇到的问题是'撰写'电子邮件客户端的活动 - 我使用ICS AVD - 在执行startActivity()时启动。所有字段都已正确填写,我必须点击发送'结束这个过程。之后,控件返回到我的应用程序UI,电子邮件正确传递到目标。 如果没有弹出模拟器的电子邮件应用程序,我该怎样做才能在后台顺利完成发送? 这是我的代码:

public class AppPilot extends Application {
    ...
    private static Context context;
    ...
    @Override
    public void onCreate() {
        super.onCreate();
        context = this;
    }
    ....
        /**
     * Send an Email 
     * @param emailAddress
     * @param emailObject
     * @param emailBody
     */
    public static void sendEmailCoupon(String emailAddress, String emailSubject,
        String  emailBody)  {

        String emailadd[] = { emailAddress };
        Intent emailIntent = new Intent(Intent.ACTION_SEND);
        emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        emailIntent.putExtra(Intent.EXTRA_EMAIL, emailadd);
        emailIntent.putExtra(Intent.EXTRA_SUBJECT, emailSubject);
        emailIntent.setType("plain/text");
        emailIntent.putExtra(Intent.EXTRA_TEXT, emailBody);
        context.startActivity(emailIntent);
}

1 个答案:

答案 0 :(得分:2)

以下是将来寻找的人的答案,以防在最初的帖子之前点击此帖子:Sending Email in Android using JavaMail API without using the default/built-in app。 基本上,首先下载3个jar文件 - mail.jar(URI:http://javamail-android.googlecode.com/files/mail.jar); activation.jar(URI:http://javamail-android.googlecode.com/files/activation.jar); additional.jar(URI:http://javamail-android.googlecode.com/files/additionnal.jar)到Eclipse项目的/ libs文件夹中。然后右键单击它们中的每一个并使用Build Path>进行引用。添加到构建路径。 创建一个单独的“电子邮件”类,然后按照“droopie”在上面链接中发布的100%代码进行操作。 需要使用JavaMail以绕过安全设计原则或Android作为应用程序容器。 HTH