2016-07-02 16 views
1

在用戶導航到其他活動後,我想從後退棧中清除調用活動(以便用戶無法返回該活動)。我看到其他問題,並發現我可能需要使用FLAG_ACTIVITY_NEW_TASK,這似乎是合乎邏輯的,但不知何故它不起作用。從使用FLAG_ACTIVITY_NEW_TASK不工作的backstack中刪除活動

我沒有得到什麼?我必須做些什麼改變? 此致敬禮。

下面的代碼

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

} 

回答

1

使用

Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK 
1

要開始新的活動後,從堆棧中刪除通話活動,只需調用finish()。完成的活動不在後臺。