我有这个 Activity1(餐厅),它切换到 Acticity2(家庭)
Intent intent = new Intent(RestaurantActivity.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish(); // Call once you redirect to another activity
我的其他 Activity (家)有一个 boolean 值来检查我之前是否在家
public static boolean visitedHomeAlready = true;
if(!visitedHomeAlready) {
Intent intent = new Intent(HomeActivity.this, RestaurantActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish(); //
}
我的想法是:如果我以前没有去过家并切换到餐厅 Activity ,我想“记住”家庭 Activity 中的数据,以便回家后继续我的游戏,但它总是从我的头开始家... 我不确定必须设置哪些标志或使用哪种方法从切换 Activity 的确切位置恢复该状态。
最佳答案
正如 Amin 上面评论的那样,finish();
意味着第一个 Activity 已完成其工作,应用程序将结束它,如果您删除它,第二个 Activity 将启动,但第一个 Activity 仍将位于其位置,您只需单击手机或虚拟设备上的后退按钮即可返回到该位置。
关于java - Android 中如何切换 Activity 而不杀死它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61031537/