[Android1.5]打开多个Activity,返回到第一个Activity的问题

本文介绍了一种在Android应用中处理登录超时的方法,通过设置Intent的FLAG_ACTIVITY_CLEAR_TOP标志来确保用户在任意层级遇到登录超时时都能直接返回登录界面。

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

前言

   Android项目中一旦涉及到登录就基本会遇到这个问题:打开多个Activity之后再登录超时的情况下如何才能跳转到登录界面,参见帖子这里。暂时没有完美解决方案,本文是对该帖子的补充说明:
 

 

声明

  欢迎转载,但请保留文章原始出处:)
 

  农民伯伯: http://over140.blog.51cto.com/

 

正文
 

  一、流程截图

 

 

二、问题说明
 

    依次从登录到三级界面,然后退出回到登录界面。

 

  三、解决办法
 

    3.1  实现代码

      三级界面调用如下代码:

        Intent intent  =   new  Intent(context, LoginView. class );
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        context.startActivity(intent);

    3.2  代码说明

       如果intent对象包含FLAG_ACTIVITY_CLEAR_TOP 标记,当目标task中已存在与接收该intent对象的 activity类型相同的activity实例存在时,所有位于该activity对象上面的activity将被清空,这样接收该intent的 activity就位于栈顶,可以响应到来的intent对象。如果目标activity的运行模式为standard(默认),则目标activtiy也会被清空。因为当运行模式为standard时,总会创建新的activity对象来接收到来的intent对象。

 

  四、注意问题
 

    注意查看源代码,Activity在finish的时候会判断一下mParent是否为空。

 

  五、参考文章

    4.1  Android的Activity和Tasks详解

    4.2  打开多个Activity,返回到第一个Activity


结束

   本文关键在代码说明那部分,看来还是需要系统的对Activity等基础类进行详细的学习才能解决更复杂的问题。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值