【问题标题】:Avoid opening Email client when send email Android发送电子邮件Android时避免打开电子邮件客户端
【发布时间】:2013-01-11 16:10:17
【问题描述】:

我有一个使用模拟器通过 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);
}

【问题讨论】:

    标签: email android-intent email-client


    【解决方案1】:

    这里是以后寻找的人的答案,以防在原始帖子之前点击此帖子: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);激活.jar(URI:http://javamail-android.googlecode.com/files/activation.jar);将附加.jar(URI:http://javamail-android.googlecode.com/files/additionnal.jar)放入 Eclipse 项目的 /libs 文件夹中。然后右键单击它们中的每一个并使用 Build Path > Add to Build Path 进行引用。 创建一个单独的“电子邮件”类,并 100% 遵循“droopie”在上面链接中发布的代码。 需要使用 JavaMail 以便绕过安全设计原则或将 Android 作为应用程序容器。 高温

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 2010-11-09
      • 2016-08-18
      • 1970-01-01
      • 2013-04-03
      • 1970-01-01
      • 2021-05-23
      • 2012-07-07
      相关资源
      最近更新 更多