アクティビティActivity1
,Activity2
,およびActivity4
です。 Activity1
はその後、いくつかのイベントで、私はActivity2
にいくつかのイベントで、その後Activity2
を開始するから、私はアンドロイドのsingleTask launchModeは動作しません
public void onClick(View v) {
Intent intent = new Intent(Activity2.this, Activity3.class);
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
ここ
Activity2
launchModeがsingleTaskとしてdecalaredされるように、新しいタスクとしてActivity3
を開始し始めます。
その後、私は私がActivity4
からActivity2
を起動すると、私はそれはのようなbackstack
タスクA
を持つべきであると信じてActivity4
にActivity3
からナビゲート| Activity2 |
|アクティビティ1 |
タスクB
|アクティビティ4 |
|アクティビティ3 |
以下の図に示すが、Activity2
の代わりに新しいインスタンスが
タスクB
として現在のタスクに追加される| Activity2 |
|アクティビティ4 |
|アクティビティ3 |
タスクA
|アクティビティ2 |
|アクティビティ1 |
誰かが私にこれを理解してもらえますか?
AndroidManifest.xmlファイルの 'launchMode =" singleTask "フラグをActivity3タグに設定しましたか? –
はい 'launchMode =" singleTask "フラグを設定しました。 – Sushant
ねえ、setFlagsメソッドでこのフラグ 'Intent.FLAG_ACTIVITY_MULTIPLE_TASK'を使わないでください。 'FLAG_ACTIVITY_NEW_TASK'と' FLAG_ACTIVITY_SINGLE_TOP'(必要な場合)を使うだけです。 –