清除棧 activity

android intent中設置如下flag,可以清除棧頂的activity:
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
還有其他tag如下:
1.FLAG_ACTIVITY_CLEAR_TOP:跳轉到的activity若已在棧中存在,則將其上的activity都銷掉。
2.FLAG_ACTIVITY_NEW_TASK:activity要存在於activity的棧中,而非activity的途徑啓動activity時必然不存在一個activity的棧,所以要新起一個棧裝入啓動的activity。簡而言之,跳轉到的activity根據情況,可能壓在一個新建的棧中。
3.FLAG_ACTIVITY_NO_HISTORY:跳轉到的activity不壓在棧中。

4.FLAG_ACTIVITY_SINGLE_TOP:和Activity的Launch mode的singleTop類似。如果某個intent添加了這個標誌,並且這個intent的目標activity就是棧頂的activity,那麼將不會新建一個實例壓入棧中。簡而言之,目標activity已在棧頂則跳轉過去,不在棧頂則在棧頂新建activity。


http://zhidao.baidu.com/link?url=NmzUYjaDUgxXjg3rRdkly9XvcLFmqOzASyfLH04KZCQ_1-u2hixkXp3BN7hprBymjegVp7-QyPZlxJEXDXbzlef-MWCUtaKllg1H0HnC23m

栗子:


Intent mIntent = new Intent(SettingsActivity.this, LoginActivity.class);
mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//跳轉到的activity若已在棧中存在,則將其上的activity都銷掉。startActivity(mIntent);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章