我有三个活动:A、B、C。我的申请流程是:A -> B & B->A 或 A -> B & B ->C & C->A。所以我使用 startActivityForResult 将数据从 A 传递到另一个活动,并且在 A 中我也有 onActivityResult 来处理接收到的数据。在 B 中,我更改数据并通过以下方式转到 C:
Intent intent = new Intent(this,C.class);
Bundle bundle = this.getIntent().getExtras();
bundle.putSerializable("newdatafromA", newdatafromA);
intent.putExtras(bundle);
startActivity(intent);
在 C 中,我获取数据并更改某些内容。我尝试使用结果代码 setResult() 并转到 A 但它不成功:
Intent positveActivity = new Intent(getApplicationContext(),A.class);
Bundle bundle = new Bundle();
bundle.putSerializable("newdata", newdata);
bundle.putSerializable("newdatafromA", newdatafromA);
positveActivity.putExtra("data", bundle);
setResult(2, positveActivity);
startActivity(positveActivity);
我调试它并没有跳转到 A.class 中的 onActivityResult(我在此处处理结果代码 = 2)。并且捆绑有所有数据。有什么想法可以帮我解决吗?