Android 如何通过中等活动启动TractivityForresult?
我有3个活动A、B、C。我需要调用A->B->C->A。活动A需要C的结果,但强制调用B 我在下面试过了,但不起作用!: A调用startActivityForResult(B),B调用startActivityForResult(C) 然后B.finish(),C将returnIntent转换为A then finish()Android 如何通过中等活动启动TractivityForresult?,android,android-intent,android-activity,Android,Android Intent,Android Activity,我有3个活动A、B、C。我需要调用A->B->C->A。活动A需要C的结果,但强制调用B 我在下面试过了,但不起作用!: A调用startActivityForResult(B),B调用startActivityForResult(C) 然后B.finish(),C将returnIntent转换为A then finish() 非常感谢您的建议 您可以使用intent发送数据,而不是通过这种方式当您在活动C上,所以在移动到活动A时,您可以清除活动堆栈顶部,它将解决您的问题,同时您的数据将从活动C
非常感谢您的建议 您可以使用intent发送数据,而不是通过这种方式当您在活动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();
您可以从
B
开始查看结果,从B
开始查看C
查看结果。当C
完成时,它必须给你一个(你想要的结果或不是),然后在B的
onActivityResult中(检查C
是否给了你想要的结果,如果是,请在收到肯定结果后立即完成B
),并将结果发送回A
。这很简单 你能再解释一下吗?我认为它不清楚。你可以从B
开始计算结果,从B
startC
开始计算结果。当C
完成时,它必须给您一个(您想要的结果或不是),然后在B的活动结果中(检查C是否给您想要的结果,如果是,请在收到肯定结果后立即完成B
),并将结果发送回A
。很简单。@NitinMisra:很抱歉迟了回复,但你的建议很有效@HoaVu我将其作为答案发布,以便其他用户可以利用它。如果有帮助的话,接受它。