2016-04-30 12 views
2

Meine Android App hat 3 Bildschirm.Beenden Sie die vorherigen Aktivitäten auf die Schaltfläche klicken Android

  • Bildschirm 1 (Home Screen)
  • Screen 2
  • Schirm 3

Bildschirm 1 startet Screen 2 und Bildschirm 2 beginnt Bildschirm 3.

ich eine Schaltfläche mit dem Namen hinzugefügt haben EXIT auf dem Bildschirm 3. Was ich will ist, wenn Benutzer diese Taste drücken, Bildschirm 1 und Bildschirm 2 Aktivitäten sollten beendet werden.

+0

Sie wollten die App verlassen oder Ihren Activity Stack leeren ?? – sushildlh

+0

Wenn Sie die Absicht an eine andere Aktivität übergeben, beenden Sie die erste Aktivität.wie Intent i = new Intent (getApplicationContext(), Screen2.class); \t \t \t \t startAktivität (i); \t \t \t \t Ende(); Du schreibst diesen Code in screen1.class, damit Screen1 dort seine Aktivität beendet. Sag mir, dass es funktioniert. –

+0

Und was soll mit Bildschirm 3 beim Drücken der Exit-Taste passieren? – Apurva

Antwort

3

Wenn Sie die Taste Exit auf Ihrem Bildschirm 3 drücken, können Sie eine andere Aktivität starten, die alle anderen Aktivitäten im Stapel beendet und sich selbst schließt. Hier ist mein Arbeitsprobe, um den Trick zu machen.

public class ExitActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     if (android.os.Build.VERSION.SDK_INT >= 21) { 
      finishAndRemoveTask(); 
     } else { 
      finish(); 
     } 
    } 

    public static void exitApplication(Context context) { 
     Intent intent = new Intent(context, ExitActivity.class); 

     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS); 

     context.startActivity(intent); 
    } 
} 

So müssen Sie exitApplication Funktion in Ihrem Exit-Taste onClick aufzurufen.

+1

Danke Bruder für Hilfe – Eagle

0

auf Exit-Button klicken Sie den folgenden Code schreiben:

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

Diese alle bisherigen Aktivitäten klar wird.

+0

beenden Angenommen, 'Home' Aktivität ist Bildschirm drei dann wird es Activity-Stack löschen und * Neustart * die Aktivität, es ist Workaround, aber nicht exakte Lösung. – Apurva

Verwandte Themen