在我的應用程序中,您可以瀏覽多個活動,直到活動堆棧非常深。同時關閉幾個android活動
我們希望每個活動都有一個按鈕,讓您直接回到主菜單 - 即彈出除第一個活動以外的所有活動。
我已將該按鈕放在視圖中,我可以輕鬆地將它放在應用程序中的每個活動中,但我無法弄清楚如何一次性關閉幾個活動。
(如果可能的話,這將是一件好事,如果視圖可以工作了多少活動本身關閉 - 即檢測堆棧自身的活動是如何深)
在我的應用程序中,您可以瀏覽多個活動,直到活動堆棧非常深。同時關閉幾個android活動
我們希望每個活動都有一個按鈕,讓您直接回到主菜單 - 即彈出除第一個活動以外的所有活動。
我已將該按鈕放在視圖中,我可以輕鬆地將它放在應用程序中的每個活動中,但我無法弄清楚如何一次性關閉幾個活動。
(如果可能的話,這將是一件好事,如果視圖可以工作了多少活動本身關閉 - 即檢測堆棧自身的活動是如何深)
看一看意圖標誌它說它將目標活動帶到堆棧的頂部,從而移除可能在其之上的所有其他內容。因此,使用該按鈕,您可以將其添加到所有活動中,以便啓動一個針對主菜單的意圖,並設置該標誌。
從文檔:
如果設置和活動是 推出的 當前任務已在運行,則代替 推出該 活動的新實例,所有其他活動的在其上面的 將被關閉,並且這個 意圖將作爲新的意圖被傳遞到(現在的 頂部)舊活動。
例如,考慮一個任務 組成的活動:A,B,C,D. 如果d用 意圖解析爲活動B的組分 調用startActivity(),則C和d將是 成品和B收到給出 意圖,導致堆棧現在 點是:a,B.
活動B在上面的例子中當前運行的實例將 要麼接受新的意圖你是 出發在這裏onNewIntent() 方法,或者自己完成並且以新的意圖重新開始。如果 已宣佈其推出模式爲 「多」(默認),你有 沒有設置FLAG_ACTIVITY_SINGLE_TOP在 的目的相同,那麼這將是 完成並重新創建;對於所有其他 啓動模式,或者如果 FLAG_ACTIVITY_SINGLE_TOP設置,則 此Intent將被傳送到 當前實例的onNewIntent()。
這次發射模式也可以用來結合 良好的效果與 FLAG_ACTIVITY_NEW_TASK:如果用來 啓動任務的根系活力,它 會帶來該任務的當前運行 實例的 前景,然後將其清除爲其根狀態 。例如,在通知 管理器啓動 活動時,這是特別有用的,例如 。
會做 - 只是想確保它是完全正確的第一個:我已經被那個之前蜇了... – teedyay 2010-03-17 13:29:42
確實 - 這對我有意想不到的效果:intent.SetFlags(ActivityFlags.ClearTop | ActivityFlags.SingleTop ); – scolestock 2012-01-03 20:39:25