亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android:launchMode =“ singleTask”中的錯誤?->活動堆棧未保留

Android:launchMode =“ singleTask”中的錯誤?->活動堆棧未保留

冉冉說 2019-10-25 13:01:50
我的主要活動A已設置android:launchMode="singleTask"在清單中?,F在,每當我從那里開始其他活動時,例如B,按HOME BUTTON電話上的返回主屏幕,然后再次返回我的應用程序,方法是按應用程序的按鈕或HOME BUTTON長按以顯示我最近的應用程序,不會保留我的活動堆棧并直接返回A而不是預期的活動B。這里有兩種行為:Expected: A > B > HOME > BActual: A > B > HOME > A (bad!)是否有我缺少的設置,或者這是一個錯誤?如果是后者,在修正錯誤之前是否有解決方法?僅供參考:這個問題已經在這里討論了。但是,似乎還沒有任何真正的解決方案。
查看完整描述

3 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

這不是錯誤。singleTask啟動現有活動時,堆棧中位于其之上的所有其他活動將被銷毀。


當您HOME再次按下并啟動活動時,ActivityManger調用意圖


{act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]flag=FLAG_ACTIVITY_NEW_TASK|FLAG_ACTIVITY_RESET_IF_NEEDED cmp=A}

因此,結果為A> B> HOME>A。


當A的launchMode為“標準”時,情況有所不同。包含A的任務將來到前臺,并保持與以前相同的狀態。


您可以創建“標準”活動,例如。C作為啟動器,C的onCreate方法中的startActivity(A)


要么


只要將意圖調用給A即可刪除launchMode="singleTask"and set FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP標志


查看完整回答
反對 回復 2019-10-25
  • 3 回答
  • 0 關注
  • 491 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號