2012-04-14 10 views
3

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

+1

他のアプリケーションからのアクティビティでstartActivityを呼び出すことはできません。私はあなたの唯一の賭けは暗黙の意図だと思う。 – CChi

答えて

4
Intent intent = new Intent(this, MainActivity.class); 
      intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(intent); 

のは... MainActivity> Activity1> Activity2> Activity3、 上記のコードを実行すると、あなたを介してこれを行うことができ活動1 & 2を閉じ、MainActivity

4

を再開しますが、以下のようにあなたの活動の積み重ねがあるとしましょうIntent

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

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

関連する問題