0

我有 2 项活动
1.活动
1 2. 活动2

活动 1正在运行。在来自activity1的事件中,我想切换到activtiy2

条件是

1.创建新活动并在活动2不活动时运行。
2.Resume activity2如果它还活着

在这两种情况下,它都不应该关闭活动1

如何达到这个要求。

4

3 回答 3

1

您可以在 Activity2 onCreate 中编写为:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (savedInstanceState != null){
                //If activity is not loaded first time
              }
    else
     {
        //activity is loaded first time
     }
}
于 2013-02-25T08:16:25.480 回答
1
Intent i = new Intent(activity1.this, activity2.class);
i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
         | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
于 2013-02-25T08:18:54.347 回答
0

除非您明确调用它,否则您无法控制在这种情况下 activity1 是否被杀死.finish()。如果你不这样做 - 它不会被销毁,直到你按下后退按钮,调用.finish()或内存管理器决定它需要后台活动占用的内存。

为避免重新创建activity2,您应该在清单中使用launchMode,阅读它——您可能正在寻找singleInstancesingleTask或者singleTop,请参阅链接以了解差异。

于 2013-02-25T08:31:37.617 回答