Intent.FLAG_ACTIVITY_NEW_TASK和android:taskAffinity

本文深入探讨了在Android应用开发中如何通过Intent.FLAG_ACTIVITY_NEW_TASK与android:taskAffinity属性灵活管理任务间的关系,包括如何创建新任务与在现有任务中运行活动,并通过getTaskId方法验证配置。

Affinity中文意思大该有 亲和力 吸引力 密切关系的意思


默认情况下调用startActivity会创建在在相同的task里 


如果设置了Intent.FLAG_ACTIVITY_NEW_TASK这个标志就要看情况了

如果目标Activity设置了android:taskAffinity属性 

1.如果带有这个属性的Task已经存在 则创建在这个Task上

2.如果带有这个属性的Task不存在 则创建一个


如果目标Activity没有android:taskAffinity属性或者和现在的一样则会创建在当前的Task中 也就是说和没有设置Intent.FLAG_ACTIVITY_NEW_TASK一样


大家可以调用getTaskId()方法来测试下


参考:http://blog.youkuaiyun.com/liuhe688/article/details/6761337

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值