我在我的應用程序中有3個活動。如何啓動這種情況下的活動?
首頁 - >列表 - >詳細
當我在詳細的活動,我想有一個家按鈕,將我重定向到家庭活動,並關閉其他活動。然後,我試過這段代碼:
Intent intent = new Intent(this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
因爲FLAG_ACTIVITY_CLEAR_TOP
是:
如果設置,以及正在啓動的活動已經在 當前任務運行,然後,而不是推出的一個新實例即 活動,其上的所有其他活動將關閉,並且 此Intent將作爲 新Intent遞送到(現在在上面)舊活動。
我得到了我想要的,但它仍然會onCreate。有沒有辦法啓動家庭,而不是去onCreate?
哇,對不起,我錯過了這個選項,在AndroidManifest.xml中的Activity中聲明'android:launchMode =「singleTask'。我將刪除這個問題 – Rendy 2013-04-30 15:05:34
通過使用上面的代碼,你只需創建一個新的主頁 - 在現有的細節活動之上的活動,而不是那個,試着完成(調用finish()on)Detail-Activity和List-Activity,以使主頁活動變得可見 – prageeth 2013-04-30 15:05:52
對於任何對android:launchMode = 「singleTask」呢,我引用它的文檔http://developer.android.com/guide/topics/manifest/activity-element.html「系統在新任務的根目錄創建活動並將意圖路由到但是,如果活動的一個實例已經存在,則系統通過調用onNewIntent()方法將意圖路由到現有實例,而不是創建新實例。「 – Rendy 2013-04-30 15:10:41