我想检查电子邮件是否已完成,然后开始其他活动。
所以我的问题是如何检查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();
}
答案 0 :(得分:2)
没有可靠的方法来确定您的电子邮件是否已发送。
理论上,您可以使用startActivityForResult()
,但根据电子邮件客户端,您将获得不正确的结果。例如,GMail始终返回RESULT_CANCELED
,无论您是发送邮件还是取消(至少对我来说),而Google云端硬盘将在RESULT_OK
内正确回复,如果电子邮件存储在云端硬盘中,或{{ 1}}如果没有。
RESULT_CANCELED
答案 1 :(得分:1)
不幸的是我认为你不能。将数据发送到电子邮件客户端没有结果回传。