也許標題可能會引起一些混淆,但我找不到更好的方法來命名我的問題。
我有3個活動,在清單文件(例如A,B,C)中用單獨的taskAffinity定義。首先,我啓動活動A,啓動任務A.然後按主頁按鈕,顯示主屏幕。接下來,我啓動活動B,它啓動任務B.在活動B的屏幕上有一個按鈕,點擊後會啓動活動C.此時堆棧如下(使用dumpsys命令)。 my.package.Home是我自定義的Home應用程序。遞歸啓動任務時的奇怪行爲
近期任務:
*最近#0:TaskRecord {421c0998#111 A = my.package.CU = 0 SZ = 2}
*最近#1:TaskRecord {42133508#110 A =我的。 package.BU = 0 sz = 2}
* Recent#2:TaskRecord {41cf77c0#1 A = my.package.Home U = 0 sz = 4}
* Recent#3:TaskRecord {428124d8#103 A = my .package.AU = 0 SZ = 2}
在活性C也有一個按鈕來啓動活動B,而B選自C開始之後,任務堆棧被重新排序,TE從下面dumpsys輸出。
近期任務:
*最近#0:TaskRecord {42133508#110 A = my.package.BU = 0 SZ = 2}
*最近#1:TaskRecord {421c0998#111 A =我的。 package.CU = 0 sz = 2}
* Recent#2:TaskRecord {41cf77c0#1 A = my.package.Home U = 0 sz = 4}
* Recent#3:TaskRecord {428124d8#103 A = my .package.AU = 0 SZ = 2}
那麼問題是,從上面的狀態,如果我按返回鍵兩次,而不是如預期被顯示在主屏幕上,ACTI虛擬A被顯示。
我有一個在Android的體面經驗,但不知道這種奇怪的行爲背景是什麼。任何人都可以幫助我確定這是一種設計行爲還是Android的錯誤。以及如何繞過它獲得我的預期行爲?
更新:這似乎是Android 4.x的特定問題。在6.0設備上,使用相同的應用程序不會出現奇怪的行爲。
其實我試過很多解決方案,包括你的建議,但沒有運氣。這似乎是Android 4.x的一個錯誤。我在Android 6.0上嘗試過相同的應用程序,沒有問題。 –