2016-02-05 26 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()?因爲這不起作用。 –

相關問題