从历史堆栈中删除活动

我的应用程序在用户第一次运行应用程序时显示注册活动,如下所示:

  • ActivitySplashScreen(欢迎来到游戏,注册一个帐户?)
  • ActivitySplashScreenSignUp(很好,请填写此信息)
  • ActivityGameMain(主游戏画面)
  • 所以当用户点击每个屏幕上的按钮时,这些活动按照该顺序相互启动。

    当用户从活动#2转到#3时,是否有可能完全清除历史堆栈中的#1和#2? 我喜欢它,所以如果用户在#3,并点击后退按钮,他们只是进入主屏幕,而不是回到初始屏幕。

    我想我可以用任务完成这个任务(即在#3开始一个新任务),但想看看是否有更简单的方法,

    谢谢


    您可以通过在AndroidManifest.xml文件的相关<activity>条目中将android:noHistory属性设置为"true"来实现此目的。 例如:

    <activity
        android:name=".AnyActivity"
        android:noHistory="true" />
    

    您可以使用转发来从活动堆栈中删除以前的活动,同时启动下一个活动。 在APIDemos中有一个这样的例子,但基本上你所做的只是在调用startActivity()之后立即调用finish() startActivity()


    是的,看看Intent.FLAG_ACTIVITY_NO_HISTORY。

    链接地址: http://www.djcxy.com/p/26207.html

    上一篇: Removing an activity from the history stack

    下一篇: Advantages of using Bundle instead of direct Intent putExtra() in Android