Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何通过中等活动启动TractivityForresult?_Android_Android Intent_Android Activity - Fatal编程技术网

Android 如何通过中等活动启动TractivityForresult?

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

我有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传递到活动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
start
C
开始计算结果。当
C
完成时,它必须给您一个(您想要的结果或不是),然后在
B的
活动结果中(检查C是否给您想要的结果,如果是,请在收到肯定结果后立即完成
B
),并将结果发送回
A
。很简单。@NitinMisra:很抱歉迟了回复,但你的建议很有效@HoaVu我将其作为答案发布,以便其他用户可以利用它。如果有帮助的话,接受它。