2016-06-14 10 views
0

このトピックについては既にスタックオーバーフローに関する疑問がたくさんありましたが、何も私のために働いていません。私が達成したいのは、特定のメソッド呼び出しですべてのアクティビティをスタックから取り除きたいということです。アクティビティのバックスタックのクリアアンドロイド

私のアプリには、login()の方法があります。今私は5つの異なる活動からこの方法を呼んでいます。ログイン後は常に1つの画面が表示されます。私が達成したいのは、ログインが成功した場合にlogin()メソッドが呼び出された場所に関係なく、ユーザーは次のアクティビティ(activity2)に移動し、そのアクティビティ(アクティビティ2)私の活動は、login()の方法で成功した場合にクリアされるようにスタックされています。

これは私がログインの成功に何をしているかですが、それは助けにはなりません。

Intent i = new Intent(context, DrawerActivity.class); 
              i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY|Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(i); 
((Activity)context).finish(); 

これを行う方法は?

答えて

0

:)事前に

おかげで、ユーザーが正常に旗の下に使用して、あなたの第二の主な活動を開き、ログインした場合:

Intent intent = new Intent(this, ActivitySecond.class); 
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
      startActivity(intent); 
      finish(); 
+0

その助けがない、あなたが編集を見ることができます。私はすでに – Newbiee

+0

あなたはそれらの2つの活動のマニフェスト宣言を表示できますか? –

0
Intent intent = new Intent(this, Example.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP 
       | Intent.FLAG_ACTIVITY_CLEAR_TASK 
       | Intent.FLAG_ACTIVITY_NEW_TASK); 

startActivity(intent); 
関連する問題