我有 3 个活动:A、B、C。
我希望活动按如下方式工作:
A startActivityForResult B; B 可以启动 C 或将结果发送给 A;C 可以返回 B 或将结果发送给 A。
当 B 将结果发送给 A 时,B 必须从 backstack 中移除。当 C 向 A 发送结果时,B 和 C 必须从 backstack 中移除。
我无法将结果从 C 发送到 A。这意味着必须重新使用 A(未重新创建)并且必须调用 onActivityResult() 来处理结果:
我已尝试使用此代码,但重新创建了 A 并且未调用 onActivityResult() !
public class C extends Activity{
sendResultToA(){
Intent i = new Intent(getActivity(), A.class);
i.putExtra("dataBean", dataBean);
i.putExtra("args", "save");
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
getActivity().setResult(Activity.RESULT_OK, i);
startActivity(i);
}
}
有什么想法可以解决这个问题吗?谢谢