您的位置:首页 > 其它

清除栈 activity

2016-05-04 14:37 274 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: