我想知道如何在不杀死任何2个活动的情况下切换2个活动,这样我就可以恢复它的状态。 我试过这个:
Activity1.class
Intent i=new Intent(this,Activity2.class)
startActivity(i);
Activity2.class
Intent i=new Intent(this,Activity2.class)
startActivity(i);
当我按下后退按钮时,此代码只会创建另一个活动并销毁之前的活动。我需要的是如何切换活动,同时暂停之前和恢复到先前暂停的活动,而不会杀死我在的活动。
答案 0 :(得分:2)
您可以使用FLAG_ACTIVITY_REORDER_TO_FRONT,如果您已经拥有活动的实例,它会将其带到前面并调用onResume()
。
if 是因为如果系统缺乏资源,Android可以随时终止您的后台活动。
Intent i=new Intent(this,Activity2.class)
i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
同时检查FLAG_ACTIVITY_PREVIOUS_IS_TOP,取决于您的应用逻辑。
答案 1 :(得分:0)
您可以尝试在Intent上设置标志(Intent.FLAG_ACTIVITY_NEW_TASK)。 但你必须记住,当他需要记忆时,系统可能会杀死你的活动。