Java 呼叫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

我创建了一个表单应用程序,用户在其中填写表单,然后单击提交按钮,将用户数据格式化为电子邮件。该应用程序以我的Droid费用填充电子邮件正文中的数据,但当有人使用Galaxy S时,电子邮件正文是空白的。有人知道这个问题的解决方法吗

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可供测试。我可能需要一段时间才能测试新代码。谢谢你提供的信息。