仅当发送电子邮件时才启动java活动
我的代码中有一个小错误,但应用程序如下所示:
用户单击一个按钮,该按钮启动发送电子邮件的意图。现在,如果用户成功地发送了该电子邮件,他应该被带到PaymentCompleteActivity
,如果不成功,应该启动MainActivity
我的想法是检查电子邮件是否在onActivityResult()
中发送,但它不起作用,即使发送成功,它也会重定向到MainActivity
这是我的密码:
Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", "xxxxxxxx@gmail.com", null));
emailIntent.putExtra(Intent.EXTRA_TEXT, myTextFiles);
startActivityForResult(Intent.createChooser(emailIntent, "Send email..."), 1);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if (resultCode == Activity.RESULT_OK) {
startActivity(new Intent(ProceedActivity.this, PaymentCompleteActivity.class));
finish();
}
if (resultCode == Activity.RESULT_CANCELED) {
startActivity(new Intent(ProceedActivity.this, MainActivity.class));
finish();
}
}
super.onActivityResult(requestCode, resultCode, data);
}
# 1 楼答案
电子邮件不是API的一部分
startActivityForResult
一旦按下发送按钮,即使未发送,也会返回。所以它总是调用resultCode == Activity.RESULT_CANCELED