2013-01-18 119 views
1

所以我有2個活動讓我們說A和B.導航到B,我想活動A被殺害或使它不可用/看不見的時候指向B. 所以它應該像當我按下B活動上的後退按鈕,它不應該打開活動A,而應該轉到應用程序托盤。如何破壞以前的活動

也活動A應該回來,當我清除應用程序數據 謝謝。

+3

在啓動活動B時調用活動A上的完成() – dymmeh

回答

2

您可以通過以下兩種方法之一來完成此操作。首先是完成ActivityA,以便以後不能恢復。當從ActivityA開始ActivityB,你會做這樣的事情:

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

另一種方法是剛剛跑完ActivityA當它從ActivityB任何形式的結果。此代碼也將在ActivityA中。

要啓動ActivityB:

Intent intent = new Intent(this, ActivityB.class); 
startActivityForResult(intent, REQUEST_ACTIVITYB); 

爲了確保ActivityA沒有恢復:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

    if(requestCode == REQUEST_ACTIVITYB) { 
     finish(); 
    } 
} 

REQUEST_ACTIVITYB只是你選擇的一個int。