Android: различная начальная активность в зависимости от предпочтений пользователя

Мое приложение запускается с экрана приветствия Activity, но на этом экране есть возможность полностью пропустить этот экран при будущих запусках.

Как лучше всего это сделать в Android? Первоначально я просто автоматически определил предпочтение skipWelcome и переключился на второе действие из Welcome. Но это дало возможность пользователю нажать кнопку возврата к экрану приветствия, который мы обещали никогда больше не показывать.

Прямо сейчас, в действии приветствия, я прочитал предпочтение и вызвал finish () для текущего действия:

    SharedPreferences preferences = getPreferences(MODE_PRIVATE);
    boolean skipWelcome = preferences.getBoolean("skipWelcome", false);

    if (skipWelcome) {
        this.finish();
    } 

Затем я реализую onDestroy, чтобы перейти к следующему действию:

@Override
public void onDestroy() {
    super.onDestroy();
    startActivity(new Intent(Welcome.this, StartFoo.class));
}

Но это приводит к некоторым странным визуальным переходам. Я начинаю думать, что мне нужно базовое Activity, которое открывает окно приветствия, только если это необходимо, а затем переходит в StartFoo.

5
задан Kevin 27 August 2010 в 22:18
поделиться