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();
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 字节跳动社招面试经验_字节hr面试后多久会通知你

    字节跳动社招面试经验_字节hr面试后多久会通知你虽然已经临近年末,但是还是萌生要看新机会的想法,主要的原因是觉得在目前的岗位上技术增长遇到的瓶颈,因此想去做一些更有挑战的工作。因为仍然准备继续在深圳工作,因此选定了三家公司,腾讯、字节跳动和sho

  • 簡單SQL存儲過程實例

    簡單SQL存儲過程實例

  • app唤起小程序_微信小程序支付轮训

    app唤起小程序_微信小程序支付轮训在同一开放平台账号下的移动应用及小程序无需关联即可完成跳转,非同一开放平台账号下的小程序需与移动应用(APP)成功关联后才支持跳转。可在“管理中心-移动应用-应用详情-关联小程序信息”,为通过审核的

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

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

  • Mysql数据库备份(一)——数据库备份和表备份[通俗易懂]

    一、Mysql中的数据备份:Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。1、Mys

  • 最新版java安装教程[通俗易懂]

    最新版java安装教程[通俗易懂]提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、官网下载jdk二、环境配置测试前言2021java的新版安装教程:与之前的安装教程相比还是有一些改动的,省去了一些不必要的繁琐的步骤,简洁而又实用。下面是详细的安装教程,只要按照此教程逐步配置,就可以成功安装java环境。一、官网下载jdk到官网https://www.oracle.com/java/technologies/javase-jdk13-downloads.html下载下载完成解压到

发表回复

您的电子邮箱地址不会被公开。

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