最近用到了这个,发现特么的就是没效果!!试了N次,排查了很多地方就是无效!!闹哪样!
大致情况是这样从Activity A登录,之后进入B>>C>>D>>...然后从D要注销,返回登录界面,在D的Intent设置intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
死活不行。之前是设置了一个静态static变量ArrayList<Activity>来保存所有activity,退出的时候循环结束list里面的所有activity,也能达到从D注销到A,和Intent.FLAG_ACTIVITY_CLEAR_TOP类似效果。虽然我水平菜,但我想这肯定不是个办法吧。
搞了好久终于发现是多了一个finish();我的在A登录成功后吧A给finish掉,A就已经不在当前stack了难怪无效。这样用intent打开A实际上是a new instance of that activity。去掉A的finish后成功。
本文详细描述了在Android应用中实现用户注销并返回登录界面的问题,通过分析和排除,发现并修正了导致问题的关键原因:在登录成功后意外地finish了登录Activity,从而导致后续注销操作无效。解决方案包括修改登录Activity的生命周期方法,避免意外关闭,并利用Intent.FLAG_ACTIVITY_CLEAR_TOP属性正确完成注销流程。
1818

被折叠的 条评论
为什么被折叠?



