gpt4 book ai didi

android - 永久修改启动 Activity 的 Intent

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

我想发送一个 Intent 来启动一个 Activity。我希望能够修改该 Intent。然后,当 Activity 被销毁并重新创建时,我希望这些修改在我调用 getIntent() 时仍然存在。

目前,只要 Activity 没有被销毁,修改 Intent 就可以正常工作。如果有,则在重新创建 Activity 时,它将获得启动它的原始 Intent,而不是第一次启动时收到的可能已修改的副本。

最佳答案

Modifying the Intent to remove my extra data works fine as long as the main Activity is still around, but if it's destroyed/recreated, the extra data is back.

那是因为您修改的是 Intent 的本地副本,而不是操作系统进程中维护的主副本,任务列表就保存在那里。

如果此数据确实是 Activity 的实例状态,则应通过 onSaveInstanceState() 将其原样保存,您将通过 onRestoreInstanceState() 取回该数据>。您图书馆的用户需要将这些事件转发给您。

如果您不希望将其视为实例状态,而是进程状态,请将数据存储在单例中。

如果数据应该在进程的生命周期之外存在,请将其写入磁盘的某个地方。

I could save the data in the host app's broadcast receiver, and then use and delete it in my code

如果通过“将数据保存在主机应用程序的广播接收器中”,那是没有意义的。 list 注册的接收者只存在一次广播,然后就结束了。

关于android - 永久修改启动 Activity 的 Intent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20447643/

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