2014-05-06 22 views
-1

在我的應用程序中,我有「主要」活動,因此,當我退出其他活動的應用程序並再次運行應用程序時,最後一個活動已啓動,而不是我的主要活動。 那麼,如何在每次退出並從其他任何活動運行應用程序時啓動「Principal」活動?如何在退出並再次運行應用程序時啓動特殊活動?

我現在有:A是我的主要活動,B和C等活動: A => B => C =>退出 當我退出應用程序,並運行它再次C的推出,而不是A.

+0

閱讀關於'活動'生命週期http://developer.android.com/reference/android/app/Activity.html –

回答

0

當您離開主要活動並轉移到任何其他活動時,可以將此標誌設置爲 FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET以用於啓動新活動的意圖。 這會清除主體活動後開始的任何活動,以防用戶退出應用程序時(通常使用主頁按鈕)。

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET

這方面的一個例子是:

當啓動從您的主要活動的任何活動,你可以這樣做:

Intent i = new Intent(getBaseContext(), SecondaryActivity.class); 
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET); 
startActivity(i); 

當啓動您的主要活動中,你可以使用FLAG_ACTIVITY_RESET_TASK_IF_NEEDED使您的主要活動將在其任務堆棧之上。

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

當啓動您的主要活動中,你可以這樣做:

Intent i = new Intent(getBaseContext(), PrincipalActivity.class); 
i.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED); 
startActivity(i); 

這種方式,你不必擔心,如果你退出,從除主要活動的任何其他活動的應用程序。

如果您有任何問題,請告訴我。如果您的主要活動是您申請的入口點,我相信您不必使用第二個標誌FLAG_ACTIVITY_RESET_TASK_IF_NEEDED。但是我沒有測試過它。

+0

謝謝:)它完美的工作,我用FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET – Afef

相關問題