仅在发送电子邮件时启动活动

时间:2017-07-13 08:37:16

标签: java android

我的代码中有一个小错误,但应用程序是这样的: 用户单击按钮,该按钮启动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);
    }

1 个答案:

答案 0 :(得分:0)

电子邮件不是API的一部分。即使没有发送按钮,startActivityForResult也会在您按下发送按钮后返回。所以它总是会调用resultCode == Activity.RESULT_CANCELED