2013-02-14 80 views
0

我有一些活動A,B,C,D。沒有它設置的方式是這樣的。清除一堆活動

  1. 當用戶啓動應用程序時,活動A啓動。
  2. 基礎上的偏好,而如果設置爲true,將立即啓動活動d
  3. 從那裏d起點C和C啓動B的,然後開始一個

...在這一點上我想d, C,B從背部堆棧中移除,以便用戶不能通過從A後退(但後退按鈕在D,B,C中應該像它應該那樣工作)而不能回到它們。

所以總結一下,我需要這樣的 D <--> C <--> B --> A

我使用意圖的標誌Intent.FLAG_ACTIVITY_CLEAR_TOP & Intent.FLAG_ACTIVITY_NEW_TASK 嘗試,但他們不工作。 我該如何做到這一點?

+0

你應該嘗試startActivityForResult然後你應該處理結果...如果它從A返回,那麼你也應該完成它們。否則,他們只會做他們應該做的事情。 – yahya 2013-02-14 21:46:14

回答

0

然後開始活動A用FLAG_ACTIVITY_TASK_ON_HOME標誌設置。

好的。

如何在啓動A後調用B完成?

+0

它沒有工作。 – Shuvo 2013-02-14 21:27:40

+0

這就是我現在正在做的 'Intent main = new Intent(this,MainActivity.class); \t \t \t main.addFlags(Intent.FLAG_ACTIVITY_TASK_ON_HOME); main.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); main.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); \t \t \t startActivity(main); finish();' – Shuvo 2013-02-15 03:16:39

+0

我想,不要添加新的任務。留下剩餘的並檢查 – 2013-02-15 17:37:35