Activity启动模式intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Activity启动模式,setFlags() ;然后Intent 使用情况,
《1》如果有三个Activity 之间的跳转,或者更多的跳转,a —>b —-> c 然后 c再回到a;
在AndroidManifest.xml 设置android:launchMode=”singleTask” ,我们想关闭掉 b ,
可以在 startActivity 里的intent 添加flags标识标记。如:
Intent intent=new Intent(this,a.class );
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
但是这里的一个缺点是,a 类从新创建了,前面跳转的activity的活动都finish(),没有复用之前的 a 类 。也是优点。
《2》在 a 跳转到 b 再跳转到 c 最后跳转回 a 。然后复用 a 之前创建。
那么这样写;只是改变标识 flags();
一样在在AndroidManifest.xml 设置android:launchMode=”singleTask”
Intent intent=new Intent(this,a.class );
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);

O(∩_∩)O哈哈~
当然了,还有其他启动模式的设置。
有时候 launchMode 设置模式不能够完成,那么可以加 setFlags 组合完成。

收工,大工告成。

猜你喜欢

转载自blog.csdn.net/qq_33495943/article/details/71411279