gpt4 book ai didi

android - startActivityForResult 和 FLAG_ACTIVITY_CLEAR_TOP

转载 作者:行者123 更新时间:2023-11-29 17:59:15 24 4
gpt4 key购买 nike

我有一个 Activity A,它使用 startActivityForResult 启动一个新 Activity B。
Activity B 使用 FLAG_ACTIVITY_CLEAR_TOP 重启了几次,所以当用户点击返回时,B 使用 setResult() 放置数据并返回到 Activity A。
但是,数据丢失了。调用 A 中的 onActivityResult 时默认为 null 和 resultCode。

我知道,事实上,这是正确的行为,因为 FLAG_ACTIVITY_CLEAR_TOP 丢弃了以前的 Activity ,但我想知道是否有一些解决方法来实现这一点(除了避免重启 B 等显而易见的选项之外)

最佳答案

当您重新启动 Activity B 时,将 FLAG_ACTIVITY_CLEAR_TOPFLAG_ACTIVITY_SINGLE_TOP 添加到您的启动 Intent 中。

activityBIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

重新启动 Activity B 也会调用 onNewIntent(Intent),但是 getIntent() 仍会传送旧的(原始)intent。

Note that getIntent() still returns the original Intent. You can use setIntent(Intent) to update it to this new Intent.

关于android - startActivityForResult 和 FLAG_ACTIVITY_CLEAR_TOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17148246/

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