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