0

私のアプリケーションには、A、B、C という 3 つのアクティビティがあり、A はログイン アクティビティであり、ログイン後に B を開始し、B は後でアクティビティ C を開始します。今、私が B または C にいて、アプリケーションがバックグラウンドになり、後で Android が決定する場合私のアプリケーションを殺すために(どんな理由であれ)。常に A から開始したいのですが、アプリケーションが強制終了されていない場合は、残したアクティビティ (B または C) から開始したいと考えています。それを達成する方法は?

非常に多くの回答で示唆されているように、 clearTaskOnLaunch を使用してみましたが、それが私の要件に合わないか、適切に使用していません。

4

1 に答える 1

2

これは私がいつも最初の活動から始めていたものです

このコードを B または C に入れます

Intent i=new Intent(getApplicationContext(),A.class);//this will close all activities except A
            i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            i.putExtra("exit", true);
            startActivity(i);

そしてAのOnCreateで

if(getIntent().getBooleanExtra("exit", false))
     finish(); //This will finish your main activity
于 2013-01-23T12:00:21.433 に答える