Java 呼叫Galaxy S时发送空白电子邮件
我创建了一个表单应用程序,用户在其中填写表单,然后单击提交按钮,将用户数据格式化为电子邮件。该应用程序以我的Droid费用填充电子邮件正文中的数据,但当有人使用Galaxy S时,电子邮件正文是空白的。有人知道这个问题的解决方法吗Java 呼叫Galaxy S时发送空白电子邮件,java,android,forms,email,galaxy,Java,Android,Forms,Email,Galaxy,我创建了一个表单应用程序,用户在其中填写表单,然后单击提交按钮,将用户数据格式化为电子邮件。该应用程序以我的Droid费用填充电子邮件正文中的数据,但当有人使用Galaxy S时,电子邮件正文是空白的。有人知道这个问题的解决方法吗 Intent emailIntent = new Intent( android.content.Intent.ACTION_SEND); emailIntent.setType("message/rfc
Intent emailIntent = new Intent(
android.content.Intent.ACTION_SEND);
emailIntent.setType("message/rfc822");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,
new String[] { "email@email.com" });
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
"Form on " + String.valueOf(editText1.getText()) + "Tech " + String.valueOf(editText2.getText()));
emailIntent.putExtra(
android.content.Intent.EXTRA_TEXT,
"Completed by = " + String.valueOf(editText1.getText())
+ " / " + String.valueOf(editText2.getText())
+ '\n' + "Tech Center = "
+ String.valueOf(editText3.getText())
+ '\n' + "Job # = "
+ String.valueOf(editText4.getText())
+ '\n' + "Date = "
+ String.valueOf(editText5.getText())
+ '\n' + "Address = "
+ String.valueOf(editText6.getText())
+ '\n' + "Type = "
+ String.valueOf(spinner7.getSelectedItem())
+ '\n' + "Work = "
+ String.valueOf(spinner8.getSelectedItem())
+ '\n' + "Location = "
+ String.valueOf(spinner9.getSelectedItem())
//code omitted
+ '\n' + "Referrals = "
+ String.valueOf(editText8.getText())
+ '\n' + String.valueOf(result11.toString()));
startActivity(Intent.createChooser(emailIntent, "Send Mail"));
finish();
}
});
}
尝试使用
Intent.ACTION\u SENDTO
操作。这样做的另一个好处是,选择器中只显示实际的电子邮件应用程序
不幸的是,我不认为在使用intent.ACTION\u SENDTO
时可以使用intent extras来填写电子邮件。您必须使用以下内容:
Intent emailIntent = new Intent(Intent.ACTION_SENDTO).setData(Uri.parse(String.format(
"mailto:%s?subject=%s&body=%s",
recipient,
subject,
body
).replace(" ", "%20")));
更新:拥有Galaxy S的用户选择了Gmail而不是电子邮件,并在Gmail应用程序的主体中大量使用。不幸的是,我没有Galaxy S可供测试。我可能需要一段时间才能测试新代码。谢谢你提供的信息。