【发布时间】:2018-11-03 21:43:20
【问题描述】:
我的活动启动模式设置为android:launchMode="singleTask"
当我调用 startActivity() 从另一个活动启动它时,它会将它从上一个状态带到顶部。
场景:
活动 A 启动活动 B
Activity B 启动 Activity A
Activity A 带有旧数据
我用什么标志来强制它开始干净并调用onCreate()?
知道我必须使用android:launchMode="singleTask"来维护
常规申请流程,无法切换到android:launchMode="singleTop"
谢谢
编辑(1):
launchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
连同android:launchMode="singleTask"
它解决了我要问的问题,但它造成了一个最糟糕的问题
现在,当我完成活动 A(由活动 A 启动的活动 B 启动)时,我发现自己最终到达了我正在使用的最后一个应用程序,它应该登陆到活动 B。
【问题讨论】:
-
您为什么不尝试使用
startActivityForResult并在onActivityResult()上使用A 上B 的详细信息 -
@IsaiahJ 我清楚地提到我必须坚持使用 singleTask 并且不能切换到 SingleTop 因为它破坏了预期的流程。
-
@aminography 我想过,但是有一种情况是活动 B 重新启动活动 A 保持并需要保持其旧状态,这就是我使用 singleTask 的原因,我需要维护这种情况并为问题中提到的场景找到解决方案。
-
哦,好吧,抱歉,但 imo 并不是很清楚。我提出了一些修改建议。
标签: java android android-activity