2016-02-05 93 views
4

I当我的第一个活动暂停时,开始第二个活动。onPause()中的startActivity在打开新应用程序后不起作用

FirstActivity.java

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

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

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

+0

当您从已打开的新应用程序中按回时,是否转到SecondActivity或主屏幕?为什么你想从onPause打开SecondActivity? – itechevo

+0

当我按下时,我会去我的SecondActivity。我想从onPause打开SecondActivity作为“锁屏”。 –

+0

请说明你想要完成什么 –

回答

0

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

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

每当我离开我的FirstActivity时,我想开始我的SecondActivity。离开FirstActivity不仅可以通过后退按钮完成,也可以通过按主屏幕按钮完成。因此,这个问题不会通过重写onBackPressed()方法并从那里开始新的活动来解决。 –

0

我想我有一个解决方案,如果你想推出新的活动,我会与onStop,而不是onPause。 与国旗开始新的活动:singleInstance

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

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

+0

你的意思是我需要在SecondActivity的onStop()中调用finish()?因为这不起作用。 –

相关问题