android 应用如何实现多个Activity在栈中finish掉

有一种应用场景是这样的,列如你的应用登录后会一直检测session 是否过期,类似QQ,如果过期或者失效,会提示你身份验证已过期,并自动重新跳转到你的登录QQ的页面,但此时你的activty或许已在栈中存在多个,那么这种情况下你按返回键就会返回到sessioid过期的那个场景。


A-B-C-D-E ,这个是你栈中的activity,比如A是登录页面,B是你的主页面,如果你在E页面遇到sessionid过期,这是时候你的E Activity的栈下方还有D,C,B,  A到B的过程应该finish().  如果你要跳转到A,让用户重新登录怎么办

      直接跳转是不可能的,因为你无法控制栈里下方的内容。

比较好的方法是  E-》B ,B是singletop,这样清空B以上的activity ,然后在B的onNewIntent里 finish掉自己,并跳转到A,这样可以在页面上实现那个直接跳转的效果,。代码就不说了,这里提供下思路。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值