2016-07-02 4 views
1

Ich möchte die aufrufende Aktivität aus dem Backstack löschen (damit der Benutzer nicht zu dieser Aktivität zurückkehren kann), nachdem der Benutzer zu einer anderen Aktivität navigiert ist. Ich sah andere Fragen und fand heraus, dass ich FLAG_ACTIVITY_NEW_TASK verwenden musste, was nur logisch erschien, aber irgendwie nicht funktionierte.Entfernen der Aktivität aus Backstack funktioniert nicht mit FLAG_ACTIVITY_NEW_TASK

Was bekomme ich nicht? Welche Änderungen muss ich machen ?? Grüße.

Hier ist der Code

public void silentLogin(String username,String password) 
{ 
    user = dbHelper.getUser(username,password); 
    if(user!=null) { 
     Intent intent = new Intent(this,MainActivity.class); 
     intent.putExtra("USER_OBJECT",user); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
     Log.d("Info","Performing silent login now..."); 
     startActivity(intent); 
    } 
    else 
    { 
     Toast.makeText(this,"not registered",Toast.LENGTH_LONG).show(); 
    } 

} 

Antwort

1

Verwendung

Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK 
1

an die anrufende Aktivität aus dem Backstack zu entfernen, rufen Sie einfach finish() nach der neuen Aktivität zu starten. Abgeschlossene Aktivitäten sind nicht auf dem Backstack.

Verwandte Themen