2

Androidアプリで2つのアクティビティタスクを実行していますが、2番目のタスクを完全にポップして、最初のタスクの先頭に戻る方法が必要です。問題は、最初のスタックの最上位のタスクがいくつかの異なるアクティビティである可能性があることです。

一連のアクティビティを含むタスク1があるとします

タスク1->A1->A2-> A3

次に、タスク2を開始します。

タスク2->B1->B2-> B3

B3に到達したら、タスク2スタック全体をポップしてA3に戻りたいと思います。指定されたインテントアクティビティクラスとしてA3を使用して新しいインテントを開始できることはわかっていますが、タスク1は次のようになります。

タスク1->A1->A2

タスク1の最後のアクティビティを追跡せずに、タスク2からすべてをポップして、アクティビティのクラスに関係なく、タスク1スタックの一番上に戻す簡単な方法はありますか?

4

1 に答える 1

1

これが必要かどうかはわかりませんが、新しいアクティビティを呼び出すインテントを作成するときに、スタックをクリーンアップするフラグを設定できます。

Intent intent = new Intent(this, Activity.class);            
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent);   

これが正確に必要なものでない場合は、Eclipseオートコンプリートを使用して他の使用可能なフラグを確認できます。そして、ここにすべてのフラグとそれらが何をするかのリストがあります。

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

于 2012-07-20T22:09:23.390 に答える