2012-10-07 9 views
10

アプリケーションの起動時に起動されるアクティビティを変更する方法はありますか?ランチャーアクティビティをプログラムで変更する

+0

は多分ちょうど 'onCreate'にターゲットアクティビティを選ぶディスパッチャの活動がありますか? – nneonneo

+0

[デフォルトのアクティビティ(プログラム起動時)をプログラムで定義する]の重複可能性があります。(http://stackoverflow.com/questions/6497725/define-default-activity-when-app-starts-programmatically) –

答えて

16

マニフェストのランチャーアクティビティとして常に指定されているヘルパーアクティビティをお勧めします。次に、そのアクティビティのonCreateでは、どのアプリケーションを開始するかを決定し、ヘルパーアクティビティを終了するために必要な決定を行うことができます。例:マニフェスト(ランチャー活動)で

<activity android:name=".HelperActivity" ... /> 

その後、HelperActivityののonCreateで:

@Override 
public void onCreate(Bundle b){ 
    super.onCreate(); 
    //determine what activity you want 
    startActivity(new Intent(this, NewActivity.class); 
    finish(); 
} 
+3

大まかな移行を示しますか? –

+7

onCreate()でアニメーションIDが0のActivity.overridePendingTransition()を呼び出してからfinish()をオーバーライドし、Activity.overridePendingTransition()を呼び出してからsuper.finish()を呼び出すこともできます。 – dennisdrew

+3

アニメーションやスタックナビゲーションの履歴を避けるため、私はAndroidManifestの 'android:noHistory = "true"'プロパティを使用します。 –

関連する問題