Activity之间的切换问题

本文探讨了在Android应用中如何通过Activity的singleTask模式及Intent标志FLAG_ACTIVITY_BROUGHT_TO_FRONT来实现特定的导航逻辑。当从Activity D返回到A或C时,通过这两种方法可以确保正确的显示行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      今天被问到一个Activity之前切换的问题,有4个Activity(A,B,C,D),从A切换到B,B切换到C,C切换到D,然后D上面有按键要切换到A或者C。
      这个涉及到Activity laungchMode的知识点,一个方法是把Activity设置为singleTask模式,另一个方法是在D切换到A或者C的时候设置intent flag:
      intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)(如果activity在task存在,拿到最顶端,不会启动新的Activity)

singleTask:当活动的启动模式指定为 singleTask,每次启动该活动时系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。
mark一下!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值