Android启动模式FLAG_ACTIVITY_CLEAR_TOP

Android启动模式FLAG_ACTIVITY_CLEAR_TOP关于这个问题,我试了一下。例:A,B,C,D四个Activity,启动模式均为默认,依次启动,在D中启动B。添加intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)效果:C会被清除出栈;然后B被finish掉,重新启动;D被销毁。重走生命周期,不会走onNewIntent()方法Intentintent=newIntent(this,TestBActivity.class);intent.setFlags(Intent.FLAG_AC

大家好,又见面了,我是你们的朋友全栈君。

关于这个问题,我试了一下。

例: A,B,C,D四个Activity,启动模式均为默认,依次启动,在D中启动B。

  1. 添加intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)

    效果:C会被清除出栈;然后B被finish掉,重新启动;D被销毁。重走生命周期,不会走onNewIntent()方法
    结果

Intent intent = new Intent(this, TestBActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
  1. intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP)
    效果:C会被清除出栈;会调用B的onNewIntent()方法,不重新启动
    Android启动模式FLAG_ACTIVITY_CLEAR_TOP
Intent intent = new Intent(this, TestBActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);

参考:Android 启动模式FLAG_ACTIVITY_CLEAR_TOP

重新启动:


 Intent intent = new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
context.overridePendingTransition(0, 0);
context.finish();
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160747.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 利用Pycharm连接服务器[通俗易懂]

    利用Pycharm连接服务器[通俗易懂]利用Pycharm连接服务器前言当下,很多深度学习的模型需要高配置的设备来跑,本地的pc可能无法满足要求。所以就需要利用服务器来训练,但是在服务器上操作代码不是很方便。利用Pycharm可以在本地编写/修改代码,能够同步到服务器上,并且能直接在本地利用pycharm运行同步到服务器上的代码。非常的方便。-前提一台装有anaconda的服务器,本地装了专业版的pycharm。操作步骤步骤一:在pycharm上使用服务器的python环境用pycharm任意打开一个项目,从工具栏中选择Fil

    2022年8月29日
    4
  • matlab 使用VIF存在的问题「建议收藏」

    matlab 使用VIF存在的问题「建议收藏」MinGW-w64-for32and64bitWindows-Browse/ToolchainstargettingWin64/PersonalBuilds/mingw-builds/8.1.0/threads-posix/sehatSourceForge.netAcompleteruntimeenvironmentforgcchttps://sourceforge.net/projects/mingw-w64/files/Toolchains%20targe…

    2022年5月8日
    54
  • Python实现AI图像识别-身份证识别

    Python实现AI图像识别-身份证识别图像识别说白了就是把一张照片上面的文字进行提取,提供工作效率需求分析身份证识别主要是把一张身份证照片上面的文字信息进行提取,不用再使用人工去手动抄写了,下面给大家说的这个身份识别主要是使用python+flask+华为云OCR进行实现的。步骤申请华为云OCR接口获取token调用身份证识别接口提取身份证信息申请华为云OCR接口图像识别主要使用的就是华为云OCR平台申请的接口,申请地址为:“https://www.huaweicloud.com”。访问申请的地址后点击菜单栏中的“控制台”

    2022年7月16日
    33
  • AMCL是什么公司_论文技术参数是什么

    AMCL是什么公司_论文技术参数是什么整理内容来自:http://wiki.ros.org/amcl1、AMCL订阅的节点:scan(sensor_msgs/LaserScan):激光数据tf(tf/tfMessage):各种转

    2022年8月5日
    8
  • python之numpy的基本使用

    python之numpy的基本使用一 numpy 概述 numpy 模块提供了 python 对 N 维数组对象的支持 ndarray ndarray 数组中的元素须为同一数据类型 这一点与 python 的列表是不一样的 numpy 支持高级大量的维度数组与矩阵运算 此外也针对数组运算提供大量的数学函数库 二 创建 ndarray 数组代码示例 coding utf 8 importnumpy print 使用列表生成一维数组 d

    2025年12月10日
    5
  • C++ ^按位异或运算符

    C++ ^按位异或运算符参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0,1^0=1,0^1=1,1^1=0

    2022年5月12日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号