gpt4 book ai didi

Android getIntent() 每次都在 onResume() 中返回相同的 Intent 。如何清除 bundle 中的 int 字段?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:31:57 28 4
gpt4 key购买 nike

我正在开发使用 getIntent() 读取 bundle 信息的应用程序。我想将其中一个 bundle 字段设置为空,以便在随后的恢复中收到修改后的 Intent ,但我一直从 getIntent() 返回相同的 Intent 。我注意到在按下后退键后会产生一个新的 Intent ,但不会产生其他 Intent 。

 intent.getExtras().getInt("FLAG_FIELD") returns 1
intent.getExtras().setString("FLAG_FIELD", null);

但是当 Activity 再次恢复时,getInt() 仍然返回一个值而不是 null。不确定如何清除 bundle 中的 Int 字段。

刚刚试过的更新:

intent.getExtras().putInt("FLAG_FIELD, -1); 

这也行不通。看起来无法更改 getIntent() 的 Intent 。

更新:onResume() 在 Activity 可见之前在调试器中连续调用 3 次?因此,即使我在这里设置了一个标志,似乎也很难改变状态,因为我无法判断哪个 resume() 调用是实际显示之前的最后一个调用。

最佳答案

您可以覆盖 onNewIntent() 并在那里更改额外内容。 Here是它的文档。在这个方法之后,你的 onResume() 将被调用,我认为这就是你想要的

关于Android getIntent() 每次都在 onResume() 中返回相同的 Intent 。如何清除 bundle 中的 int 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13830012/

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