【发布时间】:2019-09-03 14:39:51
【问题描述】:
我想我刚刚发现了一个非常奇怪的错误……但它可能只是某种我从未听说过的功能。
当您尝试使用以下代码将堆栈“清理”到某个点时,如果我在 AndroidManifest 上有任何带有 android:launchMode="singleInstance" 的 Activity,则在我的应用程序上:
Intent intent = new Intent(this, Xpto.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
它去那个活动。但是当你按回时,它会回到上一个。应该已经完成了......
例子:
A -> B -> C
然后从 C 我用 Intent.FLAG_ACTIVITY_SINGLE_TOP| 调用 A Intent.FLAG_ACTIVITY_CLEAR_TOP 在 Manifest 上有一个 singleInstance。它去了A,但它只把它带到了前面。并且没有完成 C 和 B。
有人可以解释这种行为吗?
我正在调用的 Xpto 类当时是堆栈的根活动。
【问题讨论】:
标签: android android-intent android-activity