0

ユーザーがフォームに入力し、送信ボタンをクリックしてユーザーデータをメールにフォーマットするフォームアプリを作成しました。アプリは私のDroidChargeのメールの本文にデータを入力しますが、誰かが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();

        }

    });

}
4

1 に答える 1

0

Intent.ACTION_SENDTO代わりにアクションを使用してみてください。これには、実際の電子メール アプリのみがセレクタに表示されるという追加の利点があります。

残念ながら、インテント エクストラを使用して電子メールに記入することはできないと思いますIntent.ACTION_SENDTO。次のようなものを使用する必要があります。

Intent emailIntent = new Intent(Intent.ACTION_SENDTO).setData(Uri.parse(String.format(
   "mailto:%s?subject=%s&body=%s",
   recipient,
   subject,
   body
).replace(" ", "%20")));
于 2012-09-28T08:43:51.253 に答える