364 Stimmen

Android: Den hinteren Stapel löschen

In Android habe ich einige Aktivitäten, sagen wir A, B, C.

In A verwende ich diesen Code, um B zu öffnen:

Intent intent = new Intent(this, B.class);
startActivity(intent);

In B verwende ich diesen Code, um C zu öffnen:

Intent intent = new Intent(this, C.class);
startActivity(intent);

Wenn der Benutzer auf eine Schaltfläche in C tippt, möchte ich zu A zurückkehren und den hinteren Stapel löschen (sowohl B als auch C schließen). Also, wenn der Benutzer die Zurück-Taste B und C wird nicht angezeigt, ich habe versucht, die folgenden:

Intent intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent);

Aber B und C werden immer noch angezeigt, wenn ich die Zurück-Taste benutze, wenn ich wieder in Aktivität A bin.

3voto

stevyhacker Punkte 1792

Kotlin Beispiel:

      val intent = Intent(this@LoginActivity, MainActivity::class.java)
      intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK
      startActivity(intent)
      finish()

2voto

Mohamed Mo'nes Punkte 410

Für mich das Hinzufügen Intent.FLAG_ACTIVITY_CLEAR_TASK das Problem gelöst

Intent i = new Intent(SettingsActivity.this, StartPage.class);
                i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP  | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(i);
finish();

2voto

Abhijeet Punkte 392

Logout.addFlags(Intent logout.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

2voto

Mujeeb Rahaman T Punkte 420
 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);

1voto

Arnaud Punkte 328

Wenn Sie danach die Zurück-Taste drücken, wird nichts mehr passieren:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | 
Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finishAffinity();
finish();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X