Android Intent Flag实现singleTask模式
Android Intent Flag
Android Intent 常用的Flag有以下几种:
- FLAG_ACTIVITY_NEW_TASK
- FLAG_ACTIVITY_CLEAR_TOP
- FLAG_ACTIVITY_SINGLE_TOP
- FLAG_ACTIVITY_CLEAR_TASK
Flag一般是组合使用。本文的结论需要增加一个前提,所有添加Flag启动的Activity本身的launch mode都是standard模式。
误区:很多同学认为(FLAG_ACTIVITY_NEW_TASK | FLAG_ACITIVTY_CLEAR_TOP)的组合使用能让普通的Activity以singleTask模式启动,这是错误的。普通的Activity以singleTask模式启动需要使用(FLAG_ACTIVITY_SINGLE_TOP | FLAG_ACITIVTY_CLEAR_TOP)
Intent Flag组合
FLAG_ACTIVITY_NEW_TASK和FLAG_ACITIVTY_CLEAR_TOP
效果:如果栈中存在该Activity,那么则将要跳转的Activity及其之上的Actviity全部清除,然后将创建要跳转的Activity放入栈中。因为跳转的Activity是重新创建的,所以不会走onNewIntent方法。
FLAG_ACTIVITY_NEW_TASK和FLAG_ACITIVTY_CLEAR_TASK
效果:跳转Activity所在的任务栈中所有Activity全部清除,然后创建要跳转的Activity并放入栈中。
FLAG_ACTIVITY_SINGLE_TOP和FLAG_ACTIVITY_CLEAR_TOP
效果:如果跳转Activity所在的任务栈中存在该Activity,那么将该Activity以上的Activity全部清除,然后调用跳转Activity的onNewIntent()方法。
这种组合方式等同于singleTask的launchMode模式。
Android Intent Flag实现singleTask模式相关推荐
- android.intent.action.MAIN和singleTask模式 的奇怪问题
最近在研究activity被系统回收后,如何重新启动app,看到了一篇文章,突然想起是之前遇到的一个问题,没有整理,今天记录一下,具体原因我没有搞明白,希望大神们指点指点. <activity ...
- android打印intent flag,Android flag详解
Android flag详解 Android flag详解 一.Flag标志位 在阅读源码的时候经常发现有一些标志属性使用一些位操作来判断是否具有该标志,增加标志或者去除标志. 如: 二.addFla ...
- Android中singleTask模式没起作用!!
看了这篇文章后终于找到了原因所在http://blog.csdn.net/luoshengyang/article/details/6714543 原来需要给不同的singleTask指定不同的tas ...
- Android Intent基本使用
Android Intent基本使用 Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要. 一.什么是Intent 1.Intent的概念: Android中提供 ...
- Android Intent 用法总结
From:https://www.jianshu.com/p/67d99a82509b Android 中提供了 Intent 机制来协助应用间的交互与通讯,Intent 负责对应用中一次操作的动作. ...
- 探索Activity之启动Intent Flag和taskAffinity
引用上文生命周期和launchMode介绍, Activity的生命周期实际上比我们想象的复杂得多. 本文主要通过实例, 来探索下Activity的启动Intent Flag以及taskAffinit ...
- 【Android 12】Activity启动模式
本文结合demo App和手机的实际情况(dumpsys activity containers),分析一下Activity的启动模式. 一.启动模式 google文档的介绍: 您可以通过启动模式定义 ...
- android Intent onNewIntent 什么时候调用
1.activity A 的lanch model 为singleTop 此刻,A在activity 栈顶,那么就会调用A 的onNewIntent 如果A不在栈顶,则不会调用. 2.activity ...
- Android Intent解析
本文大部分参考自 http://blog.csdn.net/mayingcai1987/article/details/6200909 ,对原文中的讲解FLAG_NEW_TASK地方加了一些自己的观点 ...
最新文章
- systemd下supervisord服务开机自启动以及注意事项
- dropdownlist三级联动怎么实现_Excel下拉菜单不会做?15秒教会你制作一二三级联动下拉菜单,从此做表不求人!...
- android添加动画文件,Android开发之图形图像与动画(五)LayoutAnimationController详解
- iOS 11.4.1 正式版越狱
- 组织需要什么样的我_为什么开放组织对我说话
- SuperBrowser简单游览器Android
- 一、JpaRepository 命名规范(摘)
- 做情绪的主人,痛苦是人生的催化剂
- (转)招商银行这一招,引起了各大银行的注意
- 2021-08-25Prompt
- 用keil5将程序下载到板子里
- 计算机任务栏的透明颜色设置,详细教您让Win10任务栏全透明_一分钟让Win10任务栏全透明...
- Java常见面试题:重写和重载的区别详解
- 前端之路--第三周学习
- 1.JsDroid命令行调试命令
- 解决 Web、软件 视频播放黑屏
- Python进行时间戳转换为标准时间
- 浅谈机器视觉的相机,镜头选型和打光
- 16、Kanzi插件——通过Kanzi Engine插件创建自定义动作+代码解析
- 6个常用大数据分析工具集锦