Search code examples
androidandroid-activitylauncher

Programmatically change launcher activity


Is there a way I can change the activity that is launched when the application is started?


Solution

  • I would recommend having a helper activity that is always designated as the launcher activity in your manifest. Then, in the onCreate of that activity you can do whatever determination you need to decide what app to start and then finish the helper activity. Example:

    In your manifest (launcher activity):

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

    Then, in HelperActivity's onCreate:

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