¿Actividad de inicio dinámico en Android?

¿Hay alguna manera de cambiar dinámicamente la actividad de inicio en Android de manera condicional? Lo que intenté hacer (que no funcionó) fue lo siguiente:

eliminar la categoría LAUNCHER como se define en mi AndroidManifest.xmlcrear una clase de aplicación personalizada que la aplicación useanule el método onCreate de mi clase de aplicación para definir un código como el siguiente:

.

if (condition) {
    startActivity(new Intent(this, MenuActivity.class));
} else {
    startActivity(new Intent(this, LoginActivity.class));
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta