有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

仅当发送电子邮件时才启动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) 个答案

  1. # 1 楼答案

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