如何使用中等活动启动ActivityForResult?

时间:2014-07-21 03:07:47

标签: android android-intent android-activity

我有3个活动A,B,C。我需要打电话给A - > B - > C - > A.活动A需要来自C的结果,但强制要求B。

我在下面尝试过,但它不起作用!:

  

调用startActivityForResult(B),B调用startActivityForResult(C)   然后B.finish(),C有returnIntent到A然后结束()。

非常感谢您的任何建议!

2 个答案:

答案 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();