Zajmuję się tworzeniem aplikacji, w której użytkownik musi się zalogować przed jej użyciem. Dostosowałem swój pasek tytułowy i umieściłem w nim przycisk wylogowania, aby umożliwić użytkownikom wylogowanie, kiedy chcą i zalogować się przy użyciu innego konta. Aplikacja powinna ponownie wyświetlić aktywność logowania.Sprawdź logowanie przy każdej aktywności
To działa dobrze, ale moim problemem jest przycisk Wstecz. Gdy użytkownik się wyloguje, pojawia się aktywność logowania, ale jeśli on naciśnie, aplikacja powraca do poprzedniej strony, umożliwiając użytkownikowi ponowne użycie tej czynności, nawet bez logowania.
Mam onCreate()
każdej działalności utworzonego w ten sposób:
public void onCreate(Bundle savedInstanceState) {
// Activity code
checkLogin();
}
A checkLogin()
:
if (GlobalContext.getCurrentUser() == null) {
Intent i = new Intent(this, LoginActivity.class);
startActivityForResult(i, GlobalContext.REQUEST_LOGIN);
}
jednak, że nie działa tak jak powinien, moim awarii aplikacji czasami kiedy pędzę z powrotem Czasami wraca do poprzedniej czynności, tak jak powiedziałem, a czasami tak naprawdę działa.
W jaki sposób mogę uzyskać wywołanie checkLogin()
za każdym razem, gdy działanie jest (ponownie) uruchamiane?
Czy istnieje inny, lepszy sposób robienia tego, co chcę?
EDIT:
podstawie @ odpowiedzi Gabriela i następującym schematem z the SDK references, przeniosłem się checkLogin()
metody onResume()
zamiast onCreate
, rozwiązania mojego problemu.
Dzięki, to było dokładnie to, czego potrzebowałem. Właściwie to przeniosłem go do OnResume, działało dobrze –