2012-08-25 19 views
5

Wenn ich diese Methode verwende, gehe ich zurück auf die Anmeldeseite, aber ich kann immer noch auf den Zurück-Button klicken und es bringt mich zur vorherigen Aktivität zurück. Warum schließt es andere Aktivitäten nicht?Beenden Sie alle Aktivitäten außer einer

public void restartApplication() { 
     Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName()); 
     i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(i); 
    } 

Gibt es eine Möglichkeit, alle Aktivitäten außer der Login-Aktivität zu beenden? oder die ganze App neu starten?

Antwort

0

Versuchen Sie finish(); nach startActivity(i); Putting.

3

Ich denke, wegen des Paketmanagers beginnt die Aktivität auf einem neuen History-Stack.

Versuchen Sie, den Aktivitätsnamen zu verwenden, anstatt vom Paketmanager zu erhalten. Eg.

Intent i = new Intent(getApplicationContext(), LoginActivity.class); 
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(i); 
0

Verwenden Sie diese intent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); anstelle von intent.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP);

Intent intent = new Intent(getApplicationContext(), 
     yourActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

startActivity(intent); 
Verwandte Themen