我有2个活动
1. 活动1
2. activity2
activity1 正在投放。在 activity1 的活动中,我想切换到 activtiy2
条件是
1.创建新活动并在 activity2 不活动时运行 2.如果它还活着,则恢复 activity2
在这两种情况下都不应该关闭 activity1
如何达到这个要求。
答案 0 :(得分: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
}
}
答案 1 :(得分:1)
Intent i = new Intent(activity1.this, activity2.class);
i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
答案 2 :(得分:0)
除非您在其上明确调用.finish()
,否则无法控制activity1是否在该场景中被杀死。如果你不这样做 - 它不会被破坏,直到你按下后退按钮,调用.finish()
或内存管理器决定它需要后台活动占用的内存。
为避免重新创建活动2,您应该在清单中使用launchMode,阅读它 - 您可能正在寻找singleInstance
,singleTask
或singleTop
,看到差异的链接。