关于Intent.FLAG_ACTIVITY_CLEAR_TOP

本文详细描述了在Android应用中实现用户注销并返回登录界面的问题,通过分析和排除,发现并修正了导致问题的关键原因:在登录成功后意外地finish了登录Activity,从而导致后续注销操作无效。解决方案包括修改登录Activity的生命周期方法,避免意外关闭,并利用Intent.FLAG_ACTIVITY_CLEAR_TOP属性正确完成注销流程。

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

最近用到了这个,发现特么的就是没效果!!试了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后成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值