[英]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.