android 怎么自定义任务栈,Android开发---任务和返回栈(Task栈)

在开发过程中,我们在App逻辑中,通常会完成一个“退出登录”的功能,当“退出登录”后,我们返回“登录界面”,此时,在点击返回按钮后,我们有可能会返回前一个本应该消失的Activity,此时逻辑就出现错误;那么我们应该怎么在跳转时,同时关闭相关的Activities呢?这就需要我们去了解任务和返回栈的知识点。

基本知识点1 任务:是指在执行特定作业时与用户交互的一系列Activity。这些Activity按照各自的打开顺序排列在堆栈中(即返回栈)中。

06a307e37d9a

由于堆栈的推入弹出特性,所以在解决这个问题时,就需要借助Intent标识符。

基本知识点2 启动新的Activity时,可以通过在传递给startActivity()的Intent中加入相应的标志,修改Activity与其任务的默认关联方式。

关键性代码如下:

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

//Intent.FLAG_ACTIVITY_CLEAR_TASK表示清空原task栈

//Intent.FLAG_ACTIVITY_NEW_TASK表示创建一个新的task栈

//overridePendingTransition解决栈被清空后,跳转动画的问题,一定要放在startActivity后运行

((Activity)context).overridePendingTransition(R.anim.open_enter,R.anim.open_exit);

喜欢请点击+关注哦

06a307e37d9a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值