繁体   English   中英

如何查看来自我的Android应用程序的已发送电子邮件? 还是打算完成(无论发送了什么电子邮件)?

[英]How can I check sent emails from my Android application? Or intent upon completion (regardless of email sent)?

我想检查电子邮件的完成情况,然后开始另一个活动。

因此,我的问题确实是如何检查i的完成情况?

EDIT:

还是有一种方法可以在完成时关闭意图(无论发送了什么电子邮件)并检查该事件?

我正在使用:

Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"recipient@example.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
i.putExtra(Intent.EXTRA_TEXT   , "body of email");
try {
    startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}

没有可靠的方法来确定您的电子邮件是否已发送。

从理论上讲,您可以使用startActivityForResult() ,但是根据电子邮件客户端的不同,您将得到不正确的结果。 例如,无论您发送邮件还是取消邮件(至少对我来说),GMail始终返回RESULT_CANCELED ,而如果电子邮件存储在云端硬盘中,Google云端硬盘将以RESULT_OK正确响应, RESULT_OK发送RESULT_CANCELED

public static final int REQUEST_CODE_MAIL = 1000;

private void startMailIntent(){
    Intent i = new Intent(Intent.ACTION_SEND);
    i.setType("message/rfc822");
    i.putExtra(Intent.EXTRA_EMAIL  , new String[]{"recipient@example.com"});
    i.putExtra(Intent.EXTRA_SUBJECT, "subject of email");
    i.putExtra(Intent.EXTRA_TEXT   , "body of email");
    try {
        startActivityForResult(Intent.createChooser(i, "Send mail..."), REQUEST_CODE_MAIL);
    } catch (android.content.ActivityNotFoundException ex) {
        Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(requestCode == REQUEST_CODE_MAIL){
        if(resultCode == RESULT_OK){
            // Mail was sent.
        } else if(resultCode == RESULT_CANCELED) {
            // Sending was cancelled.
        }
    }
    super.onActivityResult(requestCode, resultCode, data);
}

不幸的是,我认为你不能。 将数据发送到电子邮件客户端不会产生任何回传结果。

暂无
暂无

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

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