当您不立即启动 activity 时,.getIntent() Bundle 是否有效?

Does a .getIntent() Bundle works when you don't initiate the activity right away?

这可能是一个菜鸟问题,但我一直在寻找关于它的一些解释,但未能找到。

我有 A.class 正在启动 activity (A)。

用户单击一个按钮,我们转到 B.class,这也会启动布局,我正在向 activity (B) 发送 putExtra("key",value)

我收到了,效果很好! 然后我想再次发送 putExtra("key",value) 返回给 activity (A),但是用户单击了另一个按钮我启动了 C.class 来执行他需要的后台任务。

当用户返回activity (A)时,getIntent().getExtras()为空。

所以我的问题是,更改 类(线程)或活动会弄乱您的包吗? 有什么办法可以预防吗?

我觉得你很困惑。由 getIntent return 编辑的意图是启动您的 activity 的意图。它永远不会改变。如果你有一个 Activity A 想要启动 Activity B 并得到一个结果, Activity A 必须调用 startActivityForResult 来启动 B,并且 B 必须设置一个 new 意图被 returned,调用 setResult,然后完成。然后 onActivityResult in Activity A 将被调用,并通过 B 设置的结果。getIntent() 不会 return 任何结果。