2012-09-07 127 views
0

在我的Android應用程序中,我編寫了一個下面的代碼來清除活動的堆棧,但此代碼無法正常工作,所以我請求您爲此提供工作片段。Android應用程序堆棧未清除

Intent intent = new Intent(UserProfile.this, Login.class) 
     .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
finish(); 
startActivity(intent); 

感謝你

回答

0

如果目前的活動是和你想推出B活動,另外,C和d暫停的背景下,FLAG_ACTIVITY_CLEAR_TOP將完成C和d而不是A.

有一種變通方法可以讓你完成一項活動。創建一個「靜態」處理程序,它可以在A活動中接收消息時執行finish(),然後在B活動啓動時使用A中的靜態處理程序發送消息。

0

在API級別11新旗意向加入:Intent.FLAG_ACTIVITY_CLEAR_TASK試試這個標誌。例如:

Intent intent = new Intent(UserProfile.this, Login.class) 
     .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
finish(); 
startActivity(intent); 
+0

嗨harshit,感謝您的重播。我的應用最低API級別是9,我無法將其改爲api級別11,請幫助我在api級別9中實現此目標 – Dayanand

0

您可以使用ActivityName.this.finish()。

Intent intent = new Intent(UserProfile.this, Login.class) 
     .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 
    YourActivityName.this.finish();