Определить действие по умолчанию (при запуске приложения) программно

Мое приложение состоит из нескольких действий.

Действие 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;
        }
    } 
7
задан Waza_Be 27 June 2011 в 19:13
поделиться