我的代码中有一个小错误,但应用程序是这样的:
用户单击按钮,该按钮启动Intent以发送电子邮件。现在,如果用户成功发送该电子邮件,他应该被带到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);
}
答案 0 :(得分:0)
电子邮件不是API的一部分。即使没有发送按钮,startActivityForResult
也会在您按下发送按钮后返回。所以它总是会调用resultCode == Activity.RESULT_CANCELED