/ / Funkcja wylogowania w systemie Android - Android, wylogowanie

Funkcja wylogowania w systemie Android - Android, wylogowanie

Tworzę rodzaj aplikacji społecznościowej. Wprowadzam w nim funkcję wylogowania. Na przycisku Wyloguj kliknij, aby przejść do ekranu logowania, ale zamiast tego przechodzi teraz do strony głównej. Korzystam z poniższego kodu do wylogowania.

  IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.package.ACTION_LOGOUT");
registerReceiver(new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {

System.out.println("onReceive Log out in progress");
Intent intent1 = new Intent(getApplicationContext(),          Login.class);
startActivity(intent1);
finish();
}
}, intentFilter);

Odpowiedzi:

6 dla odpowiedzi № 1

użyj następującego dla Logout.

yourintent.setflag(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK);

To może ci pomóc


4 dla odpowiedzi nr 2

Po prostu daj intencję swojej aktywności związanej z logowaniem i ustaw flagę w zamierzeniu

inten1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

spowoduje wyczyszczenie wszystkich czynności i przejście do strony logowania.


2 dla odpowiedzi nr 3

To jest problem z stosami. Musisz sobie z tym poradzić. Najlepszym rozwiązaniem, które znalazłem, jest utrzymywanie pojedynczej aktywności w stosie podczas działania aplikacji, a na ekranie logowania tylko na stosie, a jeśli użytkownik naciśnie przycisk Wstecz, zobaczy ekran główny.


2 dla odpowiedzi № 4

Pracowałem dla mnie, śledząc twój stan logowania wewnętrznie, używając jakiegoś globalnego:

public boolean loggedin = false;

a następnie we wszystkich swoich działaniach, nadpisuj onResume () i finish (), jeśli wylogujesz się:

@Override
public void onResume() {
super.onResume();
if (!loggedin)
finish();
}

1 dla odpowiedzi nr 5

Spróbuj tego:

Intent intent = new Intent(getApplicationContext(), Login.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
Toast.makeText(this, "Signed out", Toast.LENGTH_SHORT).show();
startActivity(intent);
finish();

0 dla odpowiedzi № 6

Najpierw wprowadź te zmiany w swoim kodzie

Intent intent = new Intent(getApplicationContext(),Login.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

Następnie usuń koniec(); napisane w twoim odbiorniku. Powodzenia.