簡體   English   中英

活動回棧似乎丟失了

[英]Activities back stack seems to be lost

我有2個活動:A和B
在B中,我有一個后退箭頭,可以通過調用“ finish()”方法返回A。
它工作正常,除非完成以下操作:

  • 我去B
  • 我把我的應用程序放在后台
  • 我從“最近的應用”還原了我的應用
  • 我按后退箭頭,然后該應用程序完成,而不是返回活動A。

有什么幫助嗎?

不要進行任何活動,請確保未在設備的開發人員設置中啟用此選項。

我想出了解決方法:
正如@Karthikeyan在其注釋中提到的,將launchMode設置為“ singleInstance”是導致此問題的原因。 我將其更改為“ singleTask”,並且工作正常。
實際上,根據https://developer.android.com/guide/components/activities/tasks-and-back-stack中所述的Google文檔,

“singleInstance”。 與“ singleTask”相同,除了系統不會將任何其他活動啟動到保存實例的任務中。

因此,從邏輯上講,使用“ singleInstance”,從后台還原時,該活動在同一后退堆棧中沒有其他活動,因此,調用finish()可以簡單地完成該活動而不進行任何還原(第一個活動在后台,在另一個單獨的任務中)

在onStop()方法中設置標志,以根據Flag值的更改了解和寫入條件onBackPress()條件以導航至A

在清單文件中將活動A作為活動B的父活動。 為您服務。

暫無
暫無

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

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