Мое приложение состоит из нескольких действий.
Действие A - это мое главное меню с некоторыми значками. Это действие может запускаться в зависимости от того, какой значок вы нажимаете: Activity B, C, D, E или F.
Это нормально и очень просто, Activity A - это действие по умолчанию.
Теперь я выбрал вариант, который разрешить пользователям начинать свои любимые действия.
Некоторые пользователи фактически предпочтут получить, например, действие B.
Единственный способ, которым я нашел решение, - это сделать это в Activity A. Это решение очень уродливое, потому что Activity A всегда будет запускаться и закрываться автоматически:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settings = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
final Intent intent = getIntent();
String action = intent.getAction();
if (Intent.ACTION_MAIN.equals(action)) {
switch (Integer.valueOf(settings.getString("Activitypref", "1"))) {
case 2:
Intent i = new Intent(ActivityA.this, ActivityB.class);
finish();
startActivity(i);
break;
case 3:
i = new Intent(ActivityA.this, ActivityC.class);
finish();
startActivity(i);
break;
case 4:
i = new Intent(ActivityA.this, ActivityD.class);
finish();
startActivity(i);
break;
case 5:
i = new Intent(ActivityA.this, ActivityE.class);
finish();
startActivity(i);
break;
case 6:
i = new Intent(ActivityA.this, ActivityF.class);
finish();
startActivity(i);
break;
default:
break;
}
}