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)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • CSV文件太大打不开进行分割、和打开乱码问题[通俗易懂]

    CSV文件太大打不开进行分割、和打开乱码问题[通俗易懂]CSV文件打开以及乱码问题今天要使用一个csv文件,但是有8个G,excel打不开,用Python的pandas也读不了,可能是我电脑配置太落后,也可能是数据实在太大了。解决办法:首先处理打不开的问题,我们可以把大的csv分割成若干小文件,使用文件分割器,按10000行一个文件分割,分割器在F:\新建文件夹\csv文件分割器\split.exe,稍等一段时间就行。我还试过另一个分割器,但是不行…

    2022年7月21日
  • Python的pywifi模块

    Python的pywifi模块想蹭❤️小姐姐的热点❤️被拒后,我用❤️Python来暴力激活成功教程了WiFi的密码❤️文章目录想蹭❤️小姐姐的热点❤️被拒后,我用❤️Python来暴力激活成功教程了WiFi的密码❤️一、起因背景二、需求分析三、代码实现1、生成密码本2、利用密码本进行自动化的测试3、结果展示四、后续总结一、起因背景这天博主和曾经的一个小姐姐同学凑巧同时坐在了同一辆长途客车上,恰谈之后才了解到原来这位小姐姐家里挺富裕的,居然,开通了无限的流量使用权限,博主心想,既然是老同学了,借用一下这个无限的流量应该是没什么问题吧,反正是

    2022年7月27日
  • SpringCloud之服务网关Gateway[通俗易懂]

    SpringCloud之服务网关Gateway[通俗易懂]前言SpringCloud是微服务中的翘楚,最佳的落地方案。SpringCloudGateway是SpringCloud新推出的网关框架,之前是NetflixZuul。网关通常在项目中为了简化前端的调用逻辑,同时也简化内部服务之间互相调用的复杂度;具体作用就是转发服务,接收并转发所有内外部的客户端调用;其他常见的功能还有权限认证,限流控制等等。…

    2022年5月21日
  • hive数据类型及转换「建议收藏」

    hive数据类型及转换「建议收藏」hive数据类型及数据类型转换

    2022年9月21日
  • gradle教程_Gradle教程

    gradle教程_Gradle教程gradle教程WelcometoGradleTutorial.Inmyearlierposts,welookedintoWhatisGradleandGradleEclipsePlugin.欢迎使用Gradle教程。在我之前的文章中,我们研究了什么是Gradle和GradleEclipse插件。Gradle教程(GradleTutorial)…

    2022年6月28日
  • Hive左连接_oracle左外连接

    Hive左连接_oracle左外连接CREATEEXTERNALTABLEIFNOTEXISTSa(telnoSTRING,otherSTRING)PARTITIONEDBY(dayString)ROWFORMATDELIMITEDFIELDSTERMINATEDBY’|’;CREATEEXTERNALTABLEIFNOTEXISTSb(telnoSTRI…

    2022年9月18日

发表回复

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

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