簡體   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