当用户从另一个活动中单击“返回”时,启动新活动

时间:2012-04-16 10:31:56

标签: android android-activity splash-screen

我在应用启动时有一个启动画面活动。 启动启动画面有finish(),因此当用户从上次保留活动按BACK时,用户将不再看到启动启动画面。但是,不是应用程序直接退出,我希望应用程序显示一个退出启动画面,它具有与启动启动画面不同的图像,之后应用程序将直接结束。

所以我希望它是这样的: 启动画面1(开始) - >活动A - >活动B - > (按后退) - >显示活动A - > (再次按返回) - >启动画面2(结束)

怎么做?

我是否必须覆盖活动A上的后退按钮,或者当用户按下活动A上的后退按钮时,还有另一种显示新活动的方法?

5 个答案:

答案 0 :(得分:5)

为什么不用Splash 2的启动活动代码覆盖活动A上的后退按钮?我认为这是唯一的解决方案。

例如:

@Override
public void onBackPressed() {
   Intent setIntent = new Intent(ActivityA.this, Splash2.class);
   startActivity(setIntent);
   finish();
}

答案 1 :(得分:1)

您可以覆盖finish()方法,添加startActivity。

答案 2 :(得分:1)

就像

一样简单
  1. 使用startActivityForResult方法调用您的活动A而不调用完成

  2. 覆盖启动的onActivityResult以显示结束启动画面

答案 3 :(得分:1)

取决于您希望用户退出的时间。如果它仅在活动A中,您可以简单地覆盖该活动中的onKeyDown,否则在每个活动中覆盖它。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK)) {
        startActivity(new Intent("com.android.splashscreen"));
        finish();
    }
}

创建并启动终端启动画面。

答案 4 :(得分:0)

活动A onBackPressed()的过度骑行方法。在这里你可以开始你的闪屏2 / END活动。