代码之家  ›  专栏  ›  技术社区  ›  Motta

执行。如果不立即启动活动,getIntent()捆绑包是否可以正常工作?

  •  0
  • Motta  · 技术社区  · 7 年前

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

    我有一个A.class,它正在启动一个活动(A)。

    用户点击一个按钮,我们转到B.class,它也会启动一个布局,我将发送一个 putExtra("key",value) 至活动(B)。

    我收到它,工作完美! 那么我想发一封 putExtra(“键”,值) 再次回到活动(A),但用户单击了另一个按钮,我启动了C.class来完成他需要的后台任务。

    当用户返回到活动(A)时 getIntent().getExtras() 为空。

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

    1 回复  |  直到 7 年前
        1
  •  0
  •   Gabe Sechan    7 年前

    我想你很困惑。getIntent返回的意图是启动活动的意图。它永远不会改变。如果有一个活动A想要启动活动B并获得结果,则活动A必须调用startActivityForResult来启动B,而B必须设置A 要返回意图,请调用setResult,然后调用finish。然后将调用活动A中的onActivityResult,并通过B传递结果集。getIntent()不会返回任何结果。