1

例: 3 つのアクティビティ A、B、および C があります。アクティビティ AI からアクティビティ B を開き、B からアクティビティ C を開きます。次に、コードでアプリケーションを終了します。

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
System.exit(0);

このコードを終了アプリに使用します。ただし、アプリを再起動すると、最近のアクティビティに戻ります。私の質問、アプリを終了するときにすべてのアクティビティを終了するにはどうすればよいですか?

4

3 に答える 3

2

あるアクティビティから別のアクティビティを呼び出すときは常に、次のフラグを使用してアクティビティ スタックをクリアしてみてください。

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

それが役に立てば幸い。

于 2012-08-05T08:31:22.267 に答える
1
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//***Change Here***
startActivity(intent);
finish();
System.exit(0);
于 2012-08-05T08:39:24.843 に答える
-2

次のコードで、最初にメイン アクティビティに戻る必要があります。

Intent home = new Intent(this, mainActivity.class);
home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(home);

次に、次のように mainActivity からアプリケーションを終了します。

finish();
System.exit(0);

それが役に立てば幸い。

于 2012-08-05T09:50:21.777 に答える