![](/img/trans.png)
[英]Removing activity from activity stack and starting new instance of the requested activity
[英]calling an activity from stack instead of launching new instance
如何從堆棧中調用活動,而不是啟動新實例? 這是一個場景:
如果我正確地理解了您的觀點,則可以使用finish();
退出活動B和C。 。
因此,如果您的ActivityC完成了,而ActivityB也完成了,那么ActivityA應該排在最前面,這應該是您想要的。
嘗試使用FLAG_ACTIVITY_REORDER_TO_FRONT 。 例如:
Intent intent = new Intent(BActivity.this, AActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
從javadocs:
公共靜態最終int FLAG_ACTIVITY_REORDER_TO_FRONT
在API級別3中添加如果在傳遞給Context.startActivity()的Intent中進行設置,則此標志將使已啟動的活動(如果已在運行)被置於其任務的歷史記錄堆棧的最前面。
例如,考慮一個由四個活動組成的任務:A,B,C,D。如果D調用一個具有解析為活動B組件的Intent的startActivity(),則B將被帶到歷史記錄堆棧的最前面,其結果順序為:A,C,D,B。如果還指定了FLAG_ACTIVITY_CLEAR_TOP,則將忽略此標志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.