2013-01-31 27 views
1

我試圖從某些活動中向我的應用程序添加鎖定功能,並且我想確保如果用戶按下鎖定按鈕,用戶將無法按下並去任何過去的活動。因此,鎖定後用戶手機的返回將使用戶到達手機的家中。清除所有過去的活動

我試過CLEAR_TOP,但這不是在做伎倆,任何想法爲什麼?

Button lockButton = (Button) findViewById(R.id.lockButton); 
lockButton.setOnClickListener(new Button.OnClickListener() { 
    public void onClick(View v) { 
     Intent intent = new Intent(AccountListActivity.this, LockActivity.class); 
     intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
     startActivity(intent); 
     finish(); 
    } 
}); 

回答

1
FLAG_ACTIVITY_CLEAR_TOP  

這將清除只有當你要重新啓動的第一個活動,但在你的情況你是推出一個新的活動是.so它不會清除以前的活動堆棧。

你可以做一兩件事來實現您的要求 -

創建一個接口,並在所有活動的實施。

然後,當您要啓動LockActivity時,在調用Interface的委託之前完成所有活動。

+0

嗨GDG,我可以舉一個例子來說明如何在界面中實現一個活動,以及完成所有這些活動的正確方法是什麼? (是否會像finish()?) – Quantico

+0

是... simple..like ...類XYZ擴展Activity實現FinishNotifer {公共無效finishActivity(){完成()}} ..如果你想要精確的代碼.. 。請告訴我..!! – Jambaaz

+0

讓我困惑的事情是,如何從一個特定的監聽器調用finishActivity來關閉所有其他活動。 – Quantico