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