gpt4 book ai didi

android - 非调用 Activity 能否通过 Intent 将结果返回给初始 Activity?

转载 作者:太空狗 更新时间:2023-10-29 15:41:11 26 4
gpt4 key购买 nike

流程是这样的:

A 调用 B(通过 startActivityForResult)加载图像集。在用户选择一张或多张图像后,B 调用 C,用户可以在 C 中进一步对图像进行排序。在这一步之后,C 调用 A 调用 setResult(someResult, someIntent)

A 中发生的事情是我收到了正确的请求代码、结果代码,但 null Intent 。

A 是否希望从它首先调用的类中获得 intent

我认为是这样,我将此 Intent 从 B 传递给了 C,但在 C 中我不得不处理该 Intent ,因为 B 必须将其自己的 Intent 传递给 A。

最佳答案

这正是 Intent.FLAG_ACTIVITY_FORWARD_RESULT 的用途:-)

A 应该使用 startActivityForResult() 启动 B。将使用结果调用 A 的 onActivityResult()

B 应使用以下内容启动 C:

Intent intent = new Intent(this, C.class);
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
intent.putExtra("...", ...); // If you need to pass additional data to C
startActivity(intent);
finish();

请注意,B 使用 startActivity() 而不是 startActivityForResult() 来启动 C。但是,因为您指定了 Intent.FLAG_ACTIVITY_FORWARD_RESULT,C 现在可以将结果返回给 A(最初启动 B 的 Activity)。

在 C 中,您应该只调用 setResult()finish() 将结果返回给 A。

关于android - 非调用 Activity 能否通过 Intent 将结果返回给初始 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30103670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com