Java 将消息从多个活动传递到主活动

Java 将消息从多个活动传递到主活动,java,android,android-activity,android-intent,Java,Android,Android Activity,Android Intent,很难把我的问题讲清楚,但问题来了 我有一个活动活动1,从这里我可以打开三个活动中的一个活动活动2,活动3和活动4,我希望其中的一个结果来自活动3。在这些活动中,我可以创建一个新的意图来打开任何其他活动,依次对当前活动调用finish() 当我从活动1中打开活动3,然后按下按钮完成活动3时,代码将正常工作。它将完美地发送消息。我的问题在于,假设从活动1开始打开活动2,然后从活动2开始打开活动3(依次调用活动2上的finish()),然后按下活动3中的按钮,并向活动1发送相同的消息。当我试图让它发送

很难把我的问题讲清楚,但问题来了

我有一个活动活动1,从这里我可以打开三个活动中的一个活动活动2,活动3和活动4,我希望其中的一个结果来自活动3。在这些活动中,我可以创建一个新的意图来打开任何其他活动,依次对当前活动调用
finish()

当我从活动1中打开活动3,然后按下按钮完成活动3时,代码将正常工作。它将完美地发送消息。我的问题在于,假设从活动1开始打开活动2,然后从活动2开始打开活动3(依次调用活动2上的
finish()
),然后按下活动3中的按钮,并向活动1发送相同的消息。当我试图让它发送结果代码“726”时,发送的结果代码是0

总之,我希望能够从其他未知级别的活动发送来自意图创建的活动的消息,但如果有意义,消息总是返回到相同的最低级别活动

如果这很难理解,我很抱歉,我希望有人能帮助我试试

我也会做这项工作


或者在许多层面上(活动)。

我讨厌回答自己的问题,但不管怎样,我还是为其他任何寻求答案的人找到了答案:

来自主要活动

 public void onClick2Activity(View v){
            Intent i = new Intent();
            i.setClass(1Activity.this, 2Activity.class);
            startActivityForResult(i, 0);
        }

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode==726){
            Bundle bundle = data.getExtras();
            int string = bundle.getInt("test");
            Log.v("Extra", "" + string);
            Toast.makeText(this, "Pass", Toast.LENGTH_LONG).show();
        }
        else{
            Toast.makeText(this, "Fail", Toast.LENGTH_LONG).show();
        }
    }
来自2活动:

    public void onClick3Activity(View v){
            Intent i = new Intent();
            i.setClass(2Activity.this, 3Activity.class);
            startActivityForResult(i, 1);
        }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode==726){
            Intent in = new Intent();
            in.putExtra("test", "test");
            setResult(726,in);
            finish();
        }
        else{
            Log.v("Failed", "Failed");
        }
    }
public void onItemClick(){ 
    Intent in = new Intent();
    weaponID = position  + 1;
    in.putExtra("test", "test");
    setResult(726,in);
    finish();
}
来自3活动:

    public void onClick3Activity(View v){
            Intent i = new Intent();
            i.setClass(2Activity.this, 3Activity.class);
            startActivityForResult(i, 1);
        }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode==726){
            Intent in = new Intent();
            in.putExtra("test", "test");
            setResult(726,in);
            finish();
        }
        else{
            Log.v("Failed", "Failed");
        }
    }
public void onItemClick(){ 
    Intent in = new Intent();
    weaponID = position  + 1;
    in.putExtra("test", "test");
    setResult(726,in);
    finish();
}

回答你自己的问题绝对没有错!如果你自己解决它,你甚至会被鼓励去做。这就是你描述的活动吗?