簡體   English   中英

啟動另一個呼叫者時完成呼叫者活動

[英]finish caller activity when starting another one

在此處輸入圖片說明 就像在圖中一樣,我想在啟動另一個活動時關閉所有先前的活動。 我用標志嘗試了很多,但是似乎不起作用。 例如。 在活動AI上啟動活動B時

Intent intent = new Intent(this, ActivityB.class);
intent = intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent = intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

要么

Intent intent = new Intent(this, ActivityB.class);
intent = intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent = intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

但是在Activity A中沒有調用finish()方法。我有一個名為Navigation的全局類,該類將Activity擴展為在一個類中處理類似的事情。 所有橙色的活動都會擴展我的導航,藍色的活動則不會。 BackButton的行為似乎可以正常工作,但是在啟動另一個活動時未調用finish()方法。 我必須顯式調用finish()嗎? 哪里? 如果我在onStop執行此操作,則在重新啟動應用程序時無法返回到活動X。

startActivity(intent);

簡單的說

finish();

在您想要完成的活動中。 僅當ie時才需要標記。 您想清除活動堆棧

您做得對,只需在代碼中添加finish()即可:

Intent intent = new Intent(this, ActivityB.class);
intent = intent = intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();

暫無
暫無

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

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