如何在 android 中完成特定的 activity

How to finish a specific activity in android

我知道您可能认为这个问题已经被问了很多,但我一直在研究不同的案例,所有案例都只是想在注销时关闭所有活动。这是我的场景:

1) 使用启动画面启动应用程序然后我使用 finish() //我将这个 activity 设置为 MAIN 所以它首先打开 - 这就是为什么我不能 setFlags(FLAG_ACTIVITY_CLEAR_TOP) 因为它基本上回到 MAIN

2) 带有登录和注册按钮的介绍寻呼机(4 个滑动页面)

3) 登录和注册按钮会将您引导至相应的活动 // 我没有在介绍页面中使用完成,因为我希望用户能够返回介绍,例如,如果错误地按下了注册

4) 在执行 login/signup 之后,用户将被引导到主页(这里我使用 finish 来终止 login/signup 活动,因为我不再需要它们了)

因此,除了介绍页面之外,所有之前的活动现在都已完成,当用户按下返回时,应用程序将完成主页并返回介绍,但我不希望这样!我只是想让应用程序退出,我不希望介绍寻呼机在后台显示 运行。如何在首页调用onCreate方法时结束介绍页?

我有另一个相关问题,我不想 post 另一个线程:如何获得以前的 activity?就像我不想使用操作栏导航一样,我创建了一个按钮 (<- Back),当我按下它时我想带上一个 activity,我如何获得前一个 activity?

首先让您的 IntroductionActivity 像这样在清单中成为一个单独的实例:launchMode = "singleInstance"

有很多方法可以做到这一点,我想最快的方法是使用引用该 activity 的静态字段。在您的 IntroductionActivity 中添加:

public static Activity mActivity;

onCreate(){
  this.mActivity = this;
}

然后当您到达主页时,您可以这样做:

onCreate(){
  IntroductionActivity.mActivity.finish();
}

使用finish();在你开始下一个 activity

之后

示例:

Intent itr=new Intent("com.example.splash.Second");
startActivity(itr);
finish();