如何在 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();
我知道您可能认为这个问题已经被问了很多,但我一直在研究不同的案例,所有案例都只是想在注销时关闭所有活动。这是我的场景:
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();