activityの画面遷移がイマイチ理解できていないせいか悩んでます.
よろしければ、教えてください.

【目的】
画面遷移をする際に、新規生成せずにhistory stackにあるものを利用する.
「戻る」ボタンで戻る順序も崩さない.

何点か試してみたのですが・・うまくいきません.

○launchモードを「singleTask」
・インスタンスはhistory stackの物を利用できますが、
A→B→C→A
と遷移すると、B,Cのインスタンスが消滅してしまう(消したくないです).

○launchモードを「singleInstance」
・これも再利用できますが、インスタンスをpopするため、
戻る遷移がバラバラになってしまいます.

○IntentにFLAGをセットする.
 Intent intent = new Intent();
intent.setFlag();
 startActivity(intent);

FLAG_ACTIVITY_LAUNCHED_FROM_HISTORYや
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTSなど
フラグをセットして、遷移しているはずななのですが、
どうんもフラグが反映されてない状態です.
フラグを反映するのに他に行わなきゃいけないことことはあるでしょうか。

長々と書いてしまいましたが、もしよろしければ教えてください.