Когда приложение запускается или возобновляется, я хотел бы перенаправить пользователя на конкретную «Действие» на основе переменной, установленной в «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, и он будет перенаправлен в состояние, соответствующее текущему пользователю.
Я предполагаю, что это может привести к некоторым циклическим ошибкам - есть ли лучший способ сделать это?