让我们假设下面的场景,在这种情况下,每个字母都指向一个活动,括号内的每个数字都指向开放时间,每个箭头指向从一个到另一个的过渡
A(1) - > B(1) - > A(2)(意思是A打开然后B打开,A再次打开)
如果我按回按钮A试图再次打开
A(1) - > B(1) - > A(2) - > B(2) - > A(3) - > C(1) - > A(4)
此时如果按下后退按钮,我会再尝试打开4次。我的期望是至少它应该打开C(1)然后A(3)然后B(2)然后A(2)...
问题在于将launchmode更改为singleInstance,但我不明白为什么会发生这种情况?这是我第一次遇到像这样的问题。
<activity
android:name="ProfileActivity"
android:theme="@style/NoActionBarTheme">
</activity>
我在下面打电话给
fun launchProfileActivity(context: Activity) {
context.startActivity(
Intent(context, ProfileActivity::class.java))
}
答案 0 :(得分:0)
您可以将finish()与A和B等多次重复调用的活动一起使用。一旦切换到另一个活动,这将破坏活动A.因此,下次切换到A时,只有一个A实例。 在startActivity方法之后写完成()。