我真的不明白所有這些標誌是如何工作的,因爲我完全按照doc的說法進行操作,並沒有解決我的問題。我的活動是這樣啓動的:(第一)活動A - >活動B - >(第二)活動A.如果我按下按鈕,它將返回到活動B - >活動A - >退出應用程序。現在我想從活動B中提到的第二個活動A中,按回來時,它將立即跳過活動B和第一個活動A並退出應用程序。下面的代碼:Android FLAG_ACTIVITY_CLEAR_TOP無法正常工作?
從A到B:
TabActivityGroupAbs parentActivity = (TabActivityGroupAbs) ((Activity) ctx).getParent();
detailIntent = new Intent(parentActivity, B.class);
parentActivity.startChildActivity("BFromA", detailIntent);
從B到A:
TabActivityGroupAbs parentActivity = (TabActivityGroupAbs) ((Activity) ctx).getParent();
detailIntent = new Intent(parentActivity, A.class);
detailIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
detailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
parentActivity.startChildActivity("AFromB", detailIntent);
從B到A,我添加了標誌FLAG_ACTIVITY_CLEAR_TOP
。但它並沒有說明什麼。當我按下時,它仍然進入活動B,然後再次進入A.我做錯了什麼?
而且看起來好像沒有一個標誌可以工作。從A到B,我把:
detailIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
它應該阻止B放到活動堆棧。但事實並非如此。從第二項活動A開始,按回時它仍然回到B.
現在我應該怎麼做才能退出應用程序,而不是從第二個活動去回到B A.
編輯:我忘了提。從B到A,如果我調用finish()來終止活動B,那麼從第二個活動A返回時,它將返回到第一個活動A.爲什麼活動A在這裏有兩個實例,雖然我設置了FLAG_ACTIVITY_CLEAR_TOP?真奇怪。
你的回答給我關於我的應用程序發生了什麼大的建議。謝謝 – user1417127 2012-07-18 05:59:19
樂意幫忙:) .. – san 2012-07-18 09:36:45