Sto sviluppando e app dove l'utente deve effettuare il login prima di utilizzarlo. Ho personalizzato la mia barra del titolo e ho messo un pulsante di disconnessione lì, per consentire agli utenti di disconnettersi quando vogliono, e accedere con un altro account. L'app dovrebbe quindi visualizzare di nuovo l'attività di accesso.Verifica login su ogni attività
Che funziona bene, ma il mio problema è con il pulsante Indietro. Quando l'utente si disconnette, viene visualizzata l'attività di accesso, ma se si preme indietro, l'app torna alla pagina precedente, consentendo all'utente di utilizzare nuovamente quell'attività, anche senza effettuare il login.
ho il mio onCreate()
di ogni attività impostato in questo modo:
public void onCreate(Bundle savedInstanceState) {
// Activity code
checkLogin();
}
E il checkLogin()
:
if (GlobalContext.getCurrentUser() == null) {
Intent i = new Intent(this, LoginActivity.class);
startActivityForResult(i, GlobalContext.REQUEST_LOGIN);
}
tuttavia che non funziona come dovrebbe, la mia applicazione si blocca a volte quando si preme di nuovo a volte torna all'attività precedente, come ho detto, ea volte funziona davvero.
Come posso chiamare checkLogin()
ogni volta che l'attività viene (ri) avviata?
Oppure c'è un altro modo migliore di fare ciò che voglio?
EDIT:
Sulla base @ risposta di Gabriele e il seguente schema da the SDK references, ho spostato il checkLogin()
al metodo onResume()
al posto del onCreate
, risolvere il mio problema.
Grazie, era esattamente quello di cui avevo bisogno. In realtà l'ho spostato su onResume, ha funzionato bene –