您的位置:首页 > 移动开发 > Android开发

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

2015-08-13 10:59 323 查看
有一种应用场景是这样的,列如你的应用登录后会一直检测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,这样可以在页面上实现那个直接跳转的效果,。代码就不说了,这里提供下思路。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: