簡體   English   中英

從活動堆棧中刪除活動並啟動所請求活動的新實例

[英]Removing activity from activity stack and starting new instance of the requested activity

在我的Android應用程序中,我有以下簡單的場景:

活動A調用活動B,因此活動堆棧是(從上到下):

B - A.

現在我想從B調用A,完成B活動。

如果我簡單地使用finish() ,活動B將完成,但A仍然處於他之前的狀態。 相反,我希望A處於初始狀態。 所以我想完成上一個活動A的實例並創建一個新的instante(從堆棧中刪除B)

我該如何執行此任務?

在B中使用標志intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)調用startActvitity A.

如果已設置,並且正在啟動的活動已在當前任務中運行,則不會啟動該活動的新實例,而是將關閉其上的所有其他活動,並將此Intent傳遞給(現在開啟) top)舊活動作為新的意圖。

例如,考慮一個由活動組成的任務:A,B,C,D。如果D調用帶有解析為活動B組件的Intent的startActivity(),則C和D將完成,B接收給定的Intent ,導致堆棧現在是:A,B。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM