打开新应用程序后,onPause()中的startActivity无效

时间:2016-02-05 14:15:31

标签: android android-6.0-marshmallow onpause start-activity

当我的第一个活动暂停时,我开始第二个活动。

FirstActivity.java

@Override
public void onPause(){
    super.onPause();
    startActivity(new Intent(this, SecondActivity.class));
}

当我按下主屏幕按钮时,SecondActivity将启动,但会有延迟。在这个延迟中,有足够的时间来打开一个新的应用程序(例如信使)。但是,当我打开一个新的应用程序时,SecondActivity将不再启动(它甚至不会调用SecondActivity的onCreate方法)。

即使我打开一个新的应用程序,我仍然可以启动SecondActivity吗?

2 个答案:

答案 0 :(得分:0)

重写onBackPressed()方法并从那里开始新活动,而不是将代码添加到onPause()中。

@Override
public void onBackPressed()
{
    startActivity(new Intent(this, SecondActivity.class));
    super.onBackPressed();
}

答案 1 :(得分:0)

我想我有一个解决方案,如果您想启动我将使用onStop而不是onPause的新活动。 使用以下标志启动新活动:singleInstance

<activity ..
  android:launchMode= "singleInstance" />

请在第二个活动中使用onStop()并在那里调用finish()。所以你在离开应用程序时杀死第二个活动实例。您可以轻松重启。