在我的應用程序中,我有「主要」活動,因此,當我退出其他活動的應用程序並再次運行應用程序時,最後一個活動已啓動,而不是我的主要活動。 那麼,如何在每次退出並從其他任何活動運行應用程序時啓動「Principal」活動?如何在退出並再次運行應用程序時啓動特殊活動?
我現在有:A是我的主要活動,B和C等活動: A => B => C =>退出 當我退出應用程序,並運行它再次C的推出,而不是A.
在我的應用程序中,我有「主要」活動,因此,當我退出其他活動的應用程序並再次運行應用程序時,最後一個活動已啓動,而不是我的主要活動。 那麼,如何在每次退出並從其他任何活動運行應用程序時啓動「Principal」活動?如何在退出並再次運行應用程序時啓動特殊活動?
我現在有:A是我的主要活動,B和C等活動: A => B => C =>退出 當我退出應用程序,並運行它再次C的推出,而不是A.
當您離開主要活動並轉移到任何其他活動時,可以將此標誌設置爲 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
使您的主要活動將在其任務堆棧之上。
當啓動您的主要活動中,你可以這樣做:
Intent i = new Intent(getBaseContext(), PrincipalActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
startActivity(i);
這種方式,你不必擔心,如果你退出,從除主要活動的任何其他活動的應用程序。
如果您有任何問題,請告訴我。如果您的主要活動是您申請的入口點,我相信您不必使用第二個標誌FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
。但是我沒有測試過它。
謝謝:)它完美的工作,我用FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET – Afef
閱讀關於'活動'生命週期http://developer.android.com/reference/android/app/Activity.html –