3

在我的活动中,AI 正在使用 Intent 调用活动 B。在 Activity BI 中覆盖了 onBackPressed() 并且我正在调用 Activity A,但不使用 finish()。那么当我们再次从 A 调用活动 B 时,是使用相同的活动 B 实例还是创建新实例?在没有完成活动的情况下再次调用 n 是不是坏主意?如果是,如何防止每次都创建活动 B 的新实例?在这种情况下,清单中的 android:launchMode="singleTask" 是否有帮助?

4

1 回答 1

2

您可以在调用活动之前在意图中设置FLAG_ACTIVITY_REORDER_TO_FRONT标志。如果已启动,此标志将导致已启动的活动被带到其任务历史堆栈的前面,因此不会创建该活动的新实例。例如

Intent settingIntent = new Intent(ActivityA.this, ActivityB.class);                         
settingIntent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
ActivityA.this.startActivity(settingIntent);
于 2012-09-12T06:09:35.987 回答