Запуск Android-приложения с определенным действием

Когда приложение запускается или возобновляется, я хотел бы перенаправить пользователя на конкретную «Действие» на основе переменной, установленной в «SharedPrefences».

Для этого я подумывал создать метод, который проверяет переменную состояния SharedPreferences и перенаправляет на правильное действие:

private void launchRedirect(Context ctxt) {

    Integer status = AppPreferences.getStatus(this);
    Intent i =  new Intent(MainActivity.this, Activity1.class);

    switch (status) {
    case 0:
        i =  new Intent(MainActivity.this, Activity2.class);
    case 1:
        i =  new Intent(MainActivity.this, Activity3.class);
    case 2:
        i =  new Intent(MainActivity.this, Activity4.class);
    case 3:
        i =  new Intent(MainActivity.this, Activity5.class);    
    }
    startActivity(i);
}

И затем я мог бы вызывать этот метод в каждом методе onResume для каждого действия в моем приложении:

    public void onResume(Bundle savedInstanceState) {
    launchRedirect(this);
}

Это означало бы, что пользователь технически не может вернуться к последнему Activity, потому что, когда они его вызывают, он вызывает onResume, и он будет перенаправлен в состояние, соответствующее текущему пользователю.

Я предполагаю, что это может привести к некоторым циклическим ошибкам - есть ли лучший способ сделать это?

5
задан Asha 3 November 2011 в 01:04
поделиться