繁体   English   中英

如何判断我的电子邮件是否已发送?

[英]How can I tell if my email has been sent?

我正在使用以下代码在我的应用中发送电子邮件。

public void sendEmail() {
    emailSent = 1;
    String to = toEmail.getText().toString();
    String subject = getUser() + " - User Feedback";
    String message = bodyTxt;

    Intent email = new Intent(Intent.ACTION_SEND);
    email.putExtra(Intent.EXTRA_EMAIL, new String[] { to });
    email.putExtra(Intent.EXTRA_SUBJECT, subject);
    email.putExtra(Intent.EXTRA_TEXT, message);

    email.setType("message/rfc822");
    try {
        startActivity(Intent.createChooser(email, "Send Email..."));
    } catch (android.content.ActivityNotFoundException ex) {
        String msg = ex.getMessage().toString();
        emailSent = 2;
        Toast.makeText(this, "There was a problem sending this email, please try again.", Toast.LENGTH_SHORT).show();
    } 
}

email.setType()显示一个屏幕,其中提供了用于选择发送电子邮件(包括电子邮件)的方法的选项。 如果用户选择电子邮件作为电子邮件副本出现,然后用户可以发送它,则此方法很好。 但是,如果用户什么也不做,仅使用退格键,它将返回到应用程序并假定电子邮件已发送。 如何测试用户未发送电子邮件?

您可以startActivityForResult()并在onActivityResults监听RESULT_OK 但是,没有框架要求可以强制电子邮件应用适当地设置setResult 因此,您的里程可能会因电子邮件客户端应用程序而异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM