Каков стандартный способ достижения чего-то вроде ниже?Backstack и стандартные методы входа в приложение для Android
Диаграмма ниже себя пояснительную
В SplashActivity, проверить, есть ли пользователь вошел в систему, используя базу данных, если это получить детали и идти прямо к MainActivity
if (App.getAccountData().isSomeoneSignedIn()) {
// then skip everything and go to Home Screen, dont need to send any user info, home screen picks up directly from appData
Log.i("XXX", "Found an User, email = " + App.getAccountData().getEmail() + " .Going straight to home");
Intent intent = new Intent(this, MainActivity_.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
}
Когда Я иду из Splash -> Signin, я хочу сохранить Splash в backstack, однако, когда я иду из Signin -> Main, я хочу удалить все и сохранить только Main в стеке, так что нажатие кнопки «Назад» приносит пользователю для Android.
Similary, в потоке регистрации, я хочу, Android Home.
Как я могу это достичь?
+----------SplashActivity-----+
| |
| Sign In Sign Up <----------------------+
| + | |
+---------------------------+-+ |
| | |
| | |
| +------+------------+ |
+----+-----+ | | |
| | | RegisterEmailPwdActivity |
| Get email, pwd | | |
| | | |Back does usual
| SignInActivity | | |
| | | | |
| | +-----+-------------+ |
| | | |
| | +----v----------+---+ |
+--+-------+ | ExtraInfo1Activity| |
| | | Back does usual
| | | |
| | | |
| +----+--------------+ |
| | |
| +----v----------+---+ |
| | ExtraInfo2Activity|Back disabled
| | | |
| +----+--------------+ |
| | |
Should clear full stack here | |
+---------------------------v-----------+ |
| | |
| | |
| Main Activity Logout------------+
| Back should minimize | Logout takes to splash
+---------------------------------------+
Какова минимальная версия SDK, которую вы используете? – neonDion
minSdkVersion 15 - Я рад изменить его при необходимости – dowjones123
Я обычно делаю чек в «MainActivity».onResume', и используя 'finish' в' LoginActivity', чтобы закрыть его. Таким образом, никогда не было ничего до MainActivity в стеке. – njzk2