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模式相关推荐

  1. android.intent.action.MAIN和singleTask模式 的奇怪问题

    最近在研究activity被系统回收后,如何重新启动app,看到了一篇文章,突然想起是之前遇到的一个问题,没有整理,今天记录一下,具体原因我没有搞明白,希望大神们指点指点. <activity ...

  2. android打印intent flag,Android flag详解

    Android flag详解 Android flag详解 一.Flag标志位 在阅读源码的时候经常发现有一些标志属性使用一些位操作来判断是否具有该标志,增加标志或者去除标志. 如: 二.addFla ...

  3. Android中singleTask模式没起作用!!

    看了这篇文章后终于找到了原因所在http://blog.csdn.net/luoshengyang/article/details/6714543 原来需要给不同的singleTask指定不同的tas ...

  4. Android Intent基本使用

    Android Intent基本使用 Intent组件虽然不是四大组件,但却是连接四大组件的桥梁,学习好这个知识,也非常的重要. 一.什么是Intent 1.Intent的概念: Android中提供 ...

  5. Android Intent 用法总结

    From:https://www.jianshu.com/p/67d99a82509b Android 中提供了 Intent 机制来协助应用间的交互与通讯,Intent 负责对应用中一次操作的动作. ...

  6. 探索Activity之启动Intent Flag和taskAffinity

    引用上文生命周期和launchMode介绍, Activity的生命周期实际上比我们想象的复杂得多. 本文主要通过实例, 来探索下Activity的启动Intent Flag以及taskAffinit ...

  7. 【Android 12】Activity启动模式

    本文结合demo App和手机的实际情况(dumpsys activity containers),分析一下Activity的启动模式. 一.启动模式 google文档的介绍: 您可以通过启动模式定义 ...

  8. android Intent onNewIntent 什么时候调用

    1.activity A 的lanch model 为singleTop 此刻,A在activity 栈顶,那么就会调用A 的onNewIntent 如果A不在栈顶,则不会调用. 2.activity ...

  9. Android Intent解析

    本文大部分参考自 http://blog.csdn.net/mayingcai1987/article/details/6200909 ,对原文中的讲解FLAG_NEW_TASK地方加了一些自己的观点 ...

最新文章

  1. systemd下supervisord服务开机自启动以及注意事项
  2. dropdownlist三级联动怎么实现_Excel下拉菜单不会做?15秒教会你制作一二三级联动下拉菜单,从此做表不求人!...
  3. android添加动画文件,Android开发之图形图像与动画(五)LayoutAnimationController详解
  4. iOS 11.4.1 正式版越狱
  5. 组织需要什么样的我_为什么开放组织对我说话
  6. SuperBrowser简单游览器Android
  7. 一、JpaRepository 命名规范(摘)
  8. 做情绪的主人,痛苦是人生的催化剂
  9. (转)招商银行这一招,引起了各大银行的注意
  10. 2021-08-25Prompt
  11. 用keil5将程序下载到板子里
  12. 计算机任务栏的透明颜色设置,详细教您让Win10任务栏全透明_一分钟让Win10任务栏全透明...
  13. Java常见面试题:重写和重载的区别详解
  14. 前端之路--第三周学习
  15. 1.JsDroid命令行调试命令
  16. 解决 Web、软件 视频播放黑屏
  17. Python进行时间戳转换为标准时间
  18. 浅谈机器视觉的相机,镜头选型和打光
  19. 16、Kanzi插件——通过Kanzi Engine插件创建自定义动作+代码解析
  20. 6个常用大数据分析工具集锦

热门文章

  1. suse linux 版本查看,SUSE Linux 查看版本号
  2. struct ifreq 学习,现实ifconfig 功能
  3. 信息收集——善用搜索引擎
  4. java字符串计算_java处理字符串公式运算
  5. 【微信小程序-原生开发】watch 的实现
  6. 淘客技术篇-店铺满减券转链
  7. jks cer 证书生成
  8. 机器视觉(1)——概述
  9. 极盾科技郑冬东:XDR的技术栈参考
  10. Docker学习 - Ubuntu镜像启动使用(换阿里镜像源)