我有一个普通的代码,通过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);
}
答案 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