2012-03-30 9 views
0

が動作していない:クリアアクティビティスタックは、私は私の活動のための次のセットアップを持っている

A(noHistory) - > B - > C - > D - > E

だから私はからactivity Eを起動したときactivity DEをルートアクティビティにして、残りのバックスタックをクリアします。

私は私のテントに、次のフラグを追加することで、ここで多くの記事で言及したソリューションを追っ:

final Intent explicitIntent = new Intent(this, 
       E.class); 
     explicitIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     explicitIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     this.startActivity(explicitIntent); 

しかし、(以前に実行されていなかった)Activity Eバックスタックのルートになっていません。代わりに、Activity Dがバックスタックから削除されます。CBは、戻るボタンを押してもまだそこにあります。

ここで説明しているように、SDK < 11で本当に実現したくないものはありますか。Clear the entire history stack and start a new activity on Android?これらの行で

explicitIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
explicitIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

:あなたのコードで

+0

バックプレスでEからAに行きたいですか? – Rasel

+0

以下のリンクも同様の質問にチェックしてください。それはあなたを助けるかもしれません。 [Androidスタックのアクティビティをクリアする方法](http://stackoverflow.com/questions/4190429/how-to-clear-the-android-stack-of-activities) –

+0

@Raselいいえ、したいあるアクティビティから別のアクティビティに行くときにE –

答えて

0

で活動Cでこれを置きます) アクティビティEに入るとき、アクティビティB、C、Dのfinishを呼び出して、それらをスタックから取り除きます。

0

は、すぐ下の行を置き換える

explicitIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

は、このコードを試してみてください。

+0

どちらも動作しませんでした(アクティビティEがまだ実行されていないためです) –

1
このようなあなたの活動を開始し

..

この活動のB活動D

int k=1; 
     Intent i=new Intent(B.this,C.class); 
     startActivityForResult(i,k); 

この活動Cで

int j=1; 
     Intent i=new Intent(C.this,D.class); 
     startActivity(i,j); 

この中で

int j=1; Intent i=new Intent(D.this,E.class); startActivityForResult(i,j); setResult(RESULT_OK, null); finish(); 

と私の質問にコメントで(

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode ==1) { 
     if (resultCode == RESULT_OK) { 

     setResult(RESULT_OK, null); 
    finish(); 

     } 
    } 

このRASELがアドバイスとして、私はちょうどでした最後に活動B

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode ==1) { 
     if (resultCode == RESULT_OK) { 

     setResult(RESULT_OK, null); 
    finish(); 

     } 
    } 
+0

これを試しましたか?この作品は.. – 5hssba

関連する問題