アプリケーションには多くのアクティビティがあり、最後に開始されたアクティビティはスタックの最上部に留まり、現在のアクティビティを終了します。アクティビティのシーケンスがあり、ここにはフローがあります。特定のアクティビティのすべてのインスタンスを完了
アプリケーションをナビゲートしながら、我々は、B、C(1)は、D、C(2) ...アクティビティC(1)、C(2)活性Cの二つの異なるインスタンスが起動された場合。それで必要なのは、アクティビティCのすべてのインスタンスをクリアすることです。結果は完了する必要があります。C(2)私はこれらのスタックを残しておくべきです。A、B、D私は何をすべきか 。
IMP -Iが、私はむしろ、これらのインスタンスを作成するよりも、新しいタスクフラグとCを開始したが、これらのことができたように私はC(2) を終了しない限りまでCスタックで生きている(1)を維持したいですインスタンスには異なるUIと作業があります。
次の方法は好ましくありません。
まず
@Override
public void onBackPressed(){
super.onBackPressed();
Intent intent = new Intent(C(2).this , D.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
startActivity(intent);
}
これは、スタックからすべての活動を消去し、再起動します活動
セカンド
シングルトンクラスでの活動を追跡し、必要な流れをリニューアルどのようにこれが開始されるべき多くの活動がある時間を消費するか。
だから、私は、アクティビティC2を終えたときに、手動で活動C1を閉じるための方法を知っていない溶液を
にナビゲートされますこれを行う方法? – Uma