Android:使用电子邮件意图发送电子邮件,可以在发送前更改消息吗?

Android:使用电子邮件意图发送电子邮件,可以在发送前更改消息吗?,android,email,android-intent,message,send,Android,Email,Android Intent,Message,Send,我正在使用: Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 要发送电子邮件,我需要在邮件中添加一些页脚,当用户单击“发送”时,是否有任何侦听器或某种方式可以编辑邮件 谢谢 编辑: 下面是我使用的代码: private void sendEmail(String recipient, String subject, String message) { try { final Int

我正在使用:

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
要发送电子邮件,我需要在邮件中添加一些页脚,当用户单击“发送”时,是否有任何侦听器或某种方式可以编辑邮件

谢谢

编辑:

下面是我使用的代码:

private void sendEmail(String recipient, String subject, String message) {
    try {
        final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
        emailIntent.setType("plain/text");
        if (recipient != null)  emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{recipient});
        if (subject != null)    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
        if (message != null)    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);

        startActivity(Intent.createChooser(emailIntent, "Send mail..."));

    } catch (ActivityNotFoundException e) {
        // cannot send email for some reason
    }
}
没有类似于以下字段的字段:

android.content.Intent.EXTRA_EMAIL

这让我可以为意图提供信息。

如果电子邮件是从您自己的应用程序发送的,那么您需要在触发意图之前添加页脚

如果电子邮件是使用任何其他应用程序(包括默认的电子邮件应用程序)发送的,则否,您将无法修改它

编辑

在上面的例子中,您只需要在行之前的任何时间将签名附加到
消息
字符串

if (message != null)    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, message);
你可以

  • 在您自己的应用程序中创建一个包含收件人、主题和文本编辑字段的表单

  • 将这些用户输入保存为字符串变量

  • 追加/编辑字符串变量

  • 将最终确定的变量传递到emailIntent.putExtra()中


  • 然后,您的用户可以决定是否喜欢这些更改,只需按send即可。

    您好,我知道您的意思,但我的意思是页脚总是出现在消息的末尾,类似于“由ABC iphone客户端发布”,当你发帖时,你看不到它,但它被附加在实际的帖子中。这是你能够修改任何内容的最后时刻。如果您不希望这样,那么您必须用JavaMail实现您的代码。有关详细信息,请参见此问题:
    @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                if (url.startsWith("mailto:")) { 
                    try {
                        Intent emailIntent = new Intent(Intent.ACTION_SEND, Uri.parse(url));
                        emailIntent.setType("message/rfc822");
                        String recipient = url.substring( url.indexOf(":")+1 );
                        if (TextUtils.isEmpty(recipient)) recipient = "loco@wareninja.com";
                        emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{recipient});
                        emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, mContext.getString(R.string.email_subject));
                        emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, mContext.getString(R.string.email_message, " "));
    
                        mContext.startActivity(Intent.createChooser(emailIntent, "Send mail..."));
                    }
                    catch (Exception ex) {}
                }
                return true;
            }