2

をbackstackで別のアクティビティの前に、新たな活動を開始し、古い活動上の明確な活動Androidの。のは、私は私のbackstackで5つの活動を持っているとしましょう:活動A、活動B、活動C、活動E.上のバックボタンを押したときに私は、ユーザーが別のアクティビティGに行きたいいくつかの時点で活動DとアクティビティE.のようにアクティビティGはアクティビティBの後に置く必要があるので、バックスタックからアクティビティCとアクティビティDを削除します(そうでない場合、ユーザはアクティビティDに移動します)。は私がbackstack質問活性を有するこだわっている

Current situation A --> B --> C --> D --> E

Preferred situation A --> B --> G

今、私は活動Gがbackstackにされているだろうというとき、私はFLAG_ACTIVITY_CLEAR_TOPを使用することができます理解しています。しかし、活動はそうではありません。また、私はFLAG_ACTIVITY_NEW_TASKを使用したくはありません。なぜなら、アクティビティAとBもなくなるからです。

別のアプローチは、活動CとDのマニフェスト内

android:noHistory="true" 

を置くことであろうが、これは、ユーザがアクティビティBに戻って、ユーザがアクティビティC内から戻るボタンを押すたびに行かせるかでしょうD.

正しい方向に私を指すことができ

+0

FLAG_ACTIVITY_CLEAR_TOPでいただきました!問題、uのための適切な – Sush

+1

アクティビティGがまだbackstackではありませんので、活動G – demoes

答えて

2
You can try below 

C ----startActivityForResult----------> D ---startActivityForResult--> E 

handle onActivityResult with result accordingly to finish Activities, make sure its chained action calls 
+1

のときにアクティビティCに戻ります。それはうまく動作します。ありがとう! – demoes

1

アクティビティを開始するときは、C-> Dと入力してください。finish();

意図インテント=新しいインテント(C.this、D.class);

startActivity(インテント)。

仕上げ()。

D-> Gこのようにすることができます。

+0

の上に何もユーザーがすることはできません。この場合はありません見ますアクティビティD – demoes

関連する問題