【发布时间】:2020-04-06 18:46:50
【问题描述】:
假设我有以下活动:
- 一个;
- 乙;
- C 和;
- D;
我希望 Activity C 只有一个实例。
如果用户进行以下导航:
A→C→B→D→C→B→C
我应该在我的项目中做什么,当用户开始通过其导航返回时,结果如下:
A ← B ← D ← B ← C
我尝试在应用程序的AndroidManifest 上的 C 活动中使用 launchMode 的所有可用标志值,但它们都没有给出预期的结果。
我的示例AndroidManifest 活动条目就这么简单:
<activity
android:name="A" />
<activity
android:name="B" />
<activity
android:name="C"
android:launchMode="singleTask" />
<activity
android:name="D" />
【问题讨论】:
-
您能在此处添加清单代码吗?
-
@Sunny,我刚刚编辑了问题:)
-
每当你从 C 启动任何活动而不是完成 C 时。
-
@ShivamYadav,如果我这样做,在执行以下导航 A → C → B 并开始返回后,我将无法从 B 返回 C =/
-
@AugustoCarmo ,另一种解决方案是使用 startActivityForResult 并在活动 C 的 OnResult 中完成您的活动。
标签: android android-activity android-manifest single-instance launchmode