/ / Odhlásenie funkčnosť v android - android, odhlásenie

Funkcia odhlásenia v android - android, odhlásenie

Robím nejaký druh aplikácie pre sociálne siete. Vykonávam v ňom funkčnosť odhlásenia. Po kliknutí na tlačidlo Odhlásiť by sa mal prejsť na prihlasovaciu obrazovku, ale namiesto toho sa teraz naviguje na obrazovku domovskej stránky.Používam nasledujúci kód pre odhlásenie ..

  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);

odpovede:

6 pre odpoveď č. 1

použite pre odhlásenie.

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

Môže vám to pomôcť


4 pre odpoveď č. 2

Jednoducho dajte zámer svojej prihlasovacej aktivite a vložte zámer do zámeru

inten1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

vymaže všetky aktivity a prejde na prihlasovaciu stránku ur.


2 pre odpoveď č. 3

Toto je problém zásobníka. Musíte to zvládnuť. Najlepšie riešenie, ktoré som našiel, je udržať jednotku aktivity v zásobníku pri spustení aplikácie a pri odhlásení iba prihlasovacia obrazovka bude v stohu a ak používateľ stlačí tlačidlo späť, uvidí obrazovku Domov.


2 pre odpoveď № 4

Čo pre mňa fungovalo, je vnútorné sledovanie vášho prihlasovacieho stavu pomocou nejakej globálnej:

public boolean loggedin = false;

a potom vo všetkých svojich aktivitách, prepíšte naResume () a finish (), ak ste sa odhlásili:

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

1 pre odpoveď č. 5

Skúste to:

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 pre odpoveď č. 6

Najskôr vykonajte tieto zmeny vo svojom kóde

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

Potom odstráňte skončiť(); napísaný vo vnútri vysielača. Veľa šťastia.