Хотя я знаю, что это старый вопрос, я боролся с этой самой проблемой и не мог найти ответ на SO. Итак, вот мой (очень новичок) ответ:
Нет, я не думаю, что это возможно сделать путаницей с манифестом - вы можете запускать только одно фиксированное действие для приложения с домашнего экрана. Тем не менее, вы можете запускать любое действие, которое хотите, с этой начальной точки, и Android может делать это достаточно быстро, чтобы вы никогда не увидели первое.
Хотя это очень похоже на хак, я реализовал эту маршрутизацию в методе onResume () начального действия и использовал sharedPreferences , чтобы отслеживать, какое действие запустить:
final Class<? extends Activity> activityClass;
SharedPreferences prefs = getSharedPreferences("sharedPrefs", MODE_PRIVATE);
int activityID = prefs.getInt("whichActivity", -1);
if (activityID == Constants.ACTIVITY_ID_MAINSCREEN) {
activityClass = MainScreen.class;
} else {
activityClass = null; return;
}
Intent newActivity = new Intent(this, activityClass);
this.startActivity(newActivity);