activity启动FLAG之FLAG_ACTIVITY_CLEAR_TASK「建议收藏」

activity启动FLAG之FLAG_ACTIVITY_CLEAR_TASK「建议收藏」随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)官方文档解释:IfsetinanIntentpassedtoContext.startActivity(),thisflagwillcauseanyexistingtaskthat…

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

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

activity启动FLAG之FLAG_ACTIVITY_CLEAR_TASK「建议收藏」

官方文档解释:

If set in an Intent passed to Context.startActivity(), this flag will cause any existing task that would be associated with the activity to be cleared before the activity is started. That is, the activity becomes the new root of an otherwise empty task, and any old activities are finished. This can only be used in conjunction with FLAG_ACTIVITY_NEW_TASK.

翻译:如果在通过Context.startActivity()启动activity时为Intent设置了此标识,这个标识将导致:在此activity启动之前,任何与此activity相关联的task都会被清除。也就是说,此

activity将变成一个空栈中新的最底端的activity,所有的旧activity都会被finish掉,这个标识仅仅和FLAG_ACTIVITY_NEW_TASK联合起来才能使用。

下面给一个例子,看看设置了此标识和不设置有什么区别:

MainActivity:

package com.hom.testflag;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.app.Activity;
import android.content.Intent;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		LinearLayout layout = new LinearLayout(this);
		Button btn = new Button(this);
		btn.setText("跳转到A");
		layout.addView(btn);
		setContentView(layout);
		btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				Intent intent = new Intent(MainActivity.this, ActivityA.class);
				startActivity(intent);
			}
		});
	}

}

ActivityA:

package com.hom.testflag;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;

public class ActivityA extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		LinearLayout layout = new LinearLayout(this);
		Button btn = new Button(this);
		btn.setText("跳转到B");
		layout.addView(btn);
		setContentView(layout);

		btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				Intent intent = new Intent(ActivityA.this, ActivityB.class);
				intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
				startActivity(intent);
			}
		});
	}
}

ActivityB:

package com.hom.testflag;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.LinearLayout;

public class ActivityB extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		LinearLayout layout = new LinearLayout(this);
		Button btn = new Button(this);
		btn.setText("ActivityB");
		layout.addView(btn);
		setContentView(layout);
	}
}

 

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

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

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


相关推荐

  • CIFAR-10 数据集「建议收藏」

    CIFAR-10 数据集「建议收藏」CIFAR-10数据集简介CIFAR-10是由Hinton的学生AlexKrizhevsky和IlyaSutskever整理的一个用于识别普适物体的小型数据集。一共包含10个类别的RGB彩色图片:飞机(a叩lane)、汽车(automobile)、鸟类(bird)、猫(cat)、鹿(deer)、狗(dog)、蛙类(frog)、马(hor…

    2022年4月19日
  • 黑群晖安装与使用

    黑群晖安装与使用本教程是一个完整教程,教你0基础0配件安装群晖NAS服务器。

    2022年5月18日
  • idea2021.4.2激活码失效_通用破解码「建议收藏」

    idea2021.4.2激活码失效_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
  • 关于解决Codeblocks中文乱码问题

    关于解决Codeblocks中文乱码问题最近有很多博友在问我关于另一篇博文“表白小心心”等问题,我于是又年轻了一把———把代码复制下来,运行了一下,发现了诸多问题,当然不是代码的问题,而是编译器的一些问题。1、Codeblocks乱码Codeblocks在编译时没有任何问题,但是显示出来的汉字字符是乱码的。针对这一问题,我也找了一下解决方法,在这里给大家分享一下。首先打开你的Codeblocks,设置–>编辑器,中英…

    2022年7月26日
  • 转录调控必知数据库ENCODE,介绍及使用方法[通俗易懂]

    转录调控必知数据库ENCODE,介绍及使用方法[通俗易懂]按照上图的展示,目前的ENCODE通过多种测序数据来反应基因组变化的过程,分别是通过 Hi-C来观察三维基因组 ATAC-seq/chip-seq研究基因的转录调控 甲基化芯片来研究甲基化的调控作用 RNA-seq来研究基因表达的变化 RIP-seq研究在转录后调控的信息 我们可以通过ENCODE数据库来检索自己想要的数据。类似很多转录调控数据库也是在ENCODE数据库获得目标原始数据后,进行分析后构建的自己数据库。文…

    2022年10月29日
  • WebStorm安装教程【2022年新版图解】

    WebStorm安装教程【2022年新版图解】对于入门JavaScript开发的者,最重要的就是安装WebStorm软件,一款非常优秀的JavaScript工具,在互联网上查询目前还没有一篇写得比较详细的WebStorm教程。今天我将使用WebStorm最新2022年版本,从下载到安装以及创建项目带大家完整的走一遍;一、WebStorm下载1、百度搜索查询WebStorm官网;认准官网网址,别在下载站下载可能会捆绑很多垃圾软件;2、打开WebStorm官网主介绍页面,点击“Download”进入下载页面;3、点击“Download”后就跳

    2022年6月16日

发表回复

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

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