我有3个活动A,B,C。我需要打电话给A - > B - > C - > A.活动A需要来自C的结果,但强制要求B。
我在下面尝试过,但它不起作用!:
调用startActivityForResult(B),B调用startActivityForResult(C) 然后B.finish(),C有returnIntent到A然后结束()。
非常感谢您的任何建议!
答案 0 :(得分:1)
您可以从B
开始B
获取结果,然后从C
开始C
获取结果。当B's
完成时,它必须给你(你想要的结果与否),然后在C
onActivityResult中(检查B
是否给你想要的结果如果是,则完成{{1} }只要您收到正面结果)并将结果发送回A
。这很简单。 -
答案 1 :(得分:0)
您可以使用意图发送数据,而不是通过这种方式。 &安培;如果您正在使用活动C,那么移动到活动A,您可以清除活动堆栈顶部,它将解决您的问题,同时您的数据将从活动C传递到活动A.
如下所示:
Intent intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("data", "data");
startActivity(intent);
finish();