5

私のプログラムには、アプリケーションが開いたときに起動されるアクティビティがあります。さらにいくつかのアクティビティを開いた場合、どうすればメインのアクティビティに戻ることができますか? インテント フィルターでは、アクティビティの名前は「android.intent.action.MAIN」であり、startActivity() を呼び出すことはできません。私は何をしますか?

4

2 に答える 2

9

インテントを介してこれを行うことができます。

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

このインテントは、ユーザーが定義したランチャーアプリケーションを起動します。ユーザーがこれを予期しない場合、アプリケーションがクラッシュしたように見えるため、これには注意してください。

于 2012-04-14T02:41:27.837 に答える
4
Intent intent = new Intent(this, MainActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);

アクティビティスタックが次のようになっているとします...MainActivity>Activity1> Activity2> Activity3、上記のコードを実行すると、アクティビティ1と2が閉じられ、MainActivityが再開されます。

于 2012-04-14T01:16:31.060 に答える