Как изменить основную активность во время выполнения

У меня есть два действия (LoginActivity и MainActivity), причем LoginActivity является MAIN и LAUNCHER в файле манифеста Android. После запуска приложения я не хочу возвращаться к LoginActivity, даже когда нажата кнопка «Назад». Как я могу гарантировать, что MainActivity станет основным/домашним действием, хотя его нет в манифесте как MAIN во время выполнения.


person saintjab    schedule 08.08.2014    source источник
comment
переопределите кнопку «Назад», чтобы реализовать код, который вы хотите, или поместите android:noHistory="true" в тег действия, или завершите действие один раз, когда вы переходите к следующему действию.   -  person Yugesh    schedule 08.08.2014


Ответы (3)


Просто вызовите метод finish() класса Activity при успешном входе в систему. Вы никогда больше не увидите этот Activity в своем приложении (очевидно, вам придется применять логику, чтобы он снова отображался, когда какой-либо пользователь выходит из системы)

Сделайте это так, когда пользователь аутентифицируется правильной комбинацией имени пользователя и пароля

Intent i=new Intent(LogInActivity.this,HomeActivity.class);
startActivity(i);
finish();

Затем предыдущее действие (LogInActivity) будет завершено.

person nobalG    schedule 08.08.2014

Просто используйте finish() класса activity после запуска нового намерения на LoginActivity

Intent intent = new Intent(this, HomeActivity.Class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish(); // Call once you redirect to another activity
person KunamiPT    schedule 08.08.2014

попробуйте добавить android:noHistory="true" в тег <activity> в XML-файле манифеста Android

person Marcin Mikołajczyk    schedule 08.08.2014