正文
一、流程截图
二、问题说明
依次从登录到三级界面,然后退出回到登录界面。
三、解决办法
3.1 实现代码
三级界面调用如下代码:
Intent intent = new Intent(context, LoginView.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
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.2 打开多个Activity,返回到第一个Activity
结束
本文关键在代码说明那部分,看来还是需要系统的对Activity等基础类进行详细的学习才能解决更复杂的问题。
本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/582201,如需转载请自行联系原作者