关闭多个activity

【CTFhub】——hate_php2021 阅读详情

关闭多个activity

Android程序有很多Activity,比如说主窗口A,调用了子窗口B,在B中如何关闭整个Android应用程序呢?

  首先要说明在B中直接使用finish(),接下来手机显示的还是主窗口A,所以一起来看看Android开发网是如何实现的吧.

  1. Dalvik VM的本地方法

  android.os.Process.killProcess(android.os.Process.myPid())    //获取PID,目前获取自己的也只有该API,否则从/proc中自己的枚举其他进程吧,不过要说明的是,结束其他进程不一定有权限,不然就乱套了。
  System.exit(0);   //常规java、c#的标准退出法,返回值为0代表正常退出

 2. 任务管理器方法

   首先要说明该方法运行在Android 1.5 API Level为3以上才可以,同时需要权限android.permission.RESTART_PACKAGES,我们直接结束自己的package即可,直接使用ActivityManager类的restartPackage方法即可,参数为package name,该类通过getSystemService(Context.ACTIVITY_SERVICE)来实例化ActivityManager对象,这种方法系统提供的,但需要显示声明权限,所以使用中需要综合考虑。

 3. 根据Activity的声明周期

   我们知道Android的窗口类提供了历史栈,我们可以通过stack的原理来巧妙的实现,这里我们在A窗口打开B窗口时在Intent中直接加入标志Intent.FLAG_ACTIVITY_CLEAR_TOP,这样开启B时将会清除该进程空间的所有Activity。

 在A窗口中使用下面的代码调用B窗口

Intent intent = new Intent(); 
intent.setClass(Android123.this, CWJ.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  //注意本行的FLAG设置
startActivity(intent);

 接下来在B窗口中需要退出时直接使用finish方法即可全部退出。   

 


如果把A做为程序启动页面的话在A里写一个onStart()方法。

protected void onStart() {
  super.onStart();
  Intent intent = getIntent();
  int x = intent.getIntExtra("flag");
  if (x == 0)
   finish();
 }

然后在B,C,D的关闭方法块儿上加入以下方法。

Intent intent = new Intent();
intent.setClass((B或者C或者D).this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("flag", 1);
startActivity(intent);

在这里intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);这条语句是关键

这样的话当执行关闭的代码块儿的时候会启动A这个activity,然后执行onStart()方法,启动onStart()方法以后效果就跟大家期待的那样完全退出程序。

这样的话在既保留了返回按钮的功能又可以退出整个应用程序。

Google Earth Engine :处理Sentinel-1 GRD SAR数据以估算田间尺度土壤湿度的工作流程(计算双极化雷达植被指数(DpRVIc)和VV极化后向散射强度(VVdB)) 本文介绍了利用Google Earth Engine (GEE)处理Sentinel-1 SAR数据估算田间土壤湿度的方法。工作流程包括:定义研究区域并筛选指定日期、轨道参数的Sentinel-1图像;预处理计算双极化雷达植被指数(DpRVIc)和VV极化后向散射强度(VVdB),通过均值滤波降噪并去除无效像素;结合动态世界数据集掩膜水体/城市区域;最终导出时序GeoTIFF文件。DpRVIc基于双极化后向散射系数比,对植被结构敏感,而VVdB反映地表反射特性,二者结合可有效评估土壤湿度。该方法适用于农业监 阅读详情

相关推荐

aruco_ros实战:从USB摄像头到Marker位姿检测全流程解析

本文详细解析了使用aruco_ros从USB摄像头实现ArUco Marker检测与位姿估计的全流程。内容涵盖环境搭建、核心launch文件配置、可视化调试、位姿数据解析以及深度优化技巧,帮助开发者快速掌握ROS下的视觉定位关键技术,并集成到机器人项目中。

weixin_29230805的博客 265

Android中关闭Activity

1.知晓当前是哪个Activity2.随时关闭所有Activity有时我们可能会打开了很多个Activity,突然来个这样的需求,在某个页面可以关掉所有的Activity并退出程序!好吧,下面提供一个关闭所有Activity的方法,就是用一个list集合来存储所有Activity!具体代码如下:public class ActivityCollector { public static...

Snow_Ice_Yang的博客 1万+

VerilogEval实战指南:从基准测试到模型微调的全流程解析

本文提供了VerilogEval实战指南,详细解析了从基准测试到模型微调的全流程。VerilogEval是一个自动化、标准化的测试框架,用于客观评估大语言模型生成Verilog硬件代码的能力。文章涵盖了环境搭建、核心机制解析、利用其生成合成数据进行模型微调的策略,以及如何将其工程化集成到自动化评估流程中,为硬件设计领域的AI应用提供了完整的方法论。

yy01234的博客 1005

关闭指定的Activity

关闭指定的Activity, 1、startActivityForResult与onActivityResult结合,这是一个笨拙的方式,比如说A→B,B→C,之后想从C中返回A,那么可以在C与B中设置关闭Activity,达到类似与从C中关闭B的效果。当然有的时候不想使用startActivityForResult与onActivityResult结合,或者activity不规律,可以参照

我的专栏 1590

Curve+ 5.0.2:新一代色彩校准工具如何革新印刷行业标准

Curve+ 5.0.2作为新一代色彩校准工具,通过G7+校准算法和SCTV技术革新了印刷行业的色彩管理标准。该工具显著提升色彩精准度,减少打样时间和材料浪费,支持专色处理,实现跨材质色彩一致性,为印刷企业带来效率与质量的全面提升。

weixin_29228781的博客 529

BGE(BAAI General Embedding)模型详解

BGE(BAAI General Embedding)是北京智源人工智能研究院(BAAI)推出的通用文本嵌入模型系列,旨在为各种自然语言处理任务提供高质量的向量表示。

ttyy1112的专栏 7559

Android 在一个activity中关闭其他activity

1、问题:从ActivityA跳转到ActivityB,再从ActivityB跳转到ActivityC,在第二次跳转时既要关闭ActivityB也要关闭ActivityA,要怎么做到? 1)首先,在ActivityA中定义一个变量 public static ActivityA a=null; 2)在该Activity下的onCreate方法中赋值 a=this; 3)在Activi

fynzhy的博客 2982

利用HipSTR从二代测序数据中精准解析短串联重复序列(STR)的遗传多态性

本文详细介绍了如何利用HipSTR工具从二代测序(NGS)数据中精准解析短串联重复序列(STR)的遗传多态性。通过三步走策略,HipSTR能够高效识别STR区域、估算重复次数并判定基因型,适用于法医鉴定、疾病研究和细胞系鉴定等多个领域。文章还提供了实战操作指南和常见问题解决方案,帮助研究者充分利用NGS数据开展STR分析。

weixin_28702105的博客 483

android 同时关闭多个activity,一次关闭多个Activity

首先说一下原理,就是在要关闭多个Activity的地方发出一个广播,而要关闭的那些Activity中,注册这些广播,这样就能一下关闭多个了。当然为了代码的良好,我们应该申明一个叫做BaseActivity的Activity,这样就只需要在一个地方写代码就可以了。首先我们在BaseActivity中声明一个广播接收者,代码如下:protected BroadcastReceiver finishAp...

weixin_30045135的博客 815

STM32F103 实例应用(10)——I2C读写24C32

一、应用简介 本文介绍24C32的读写,基于野火的软件I2C程序。 board_i2c.h /**=========================================================================== @file board_i2c.h @brief 本文件是用于I2C驱动 @author 青梅煮久 @version r0.1 @date 2021/01/13 -------------------------.

qq_34118600的博客 3447

ICC2:使用analyze_lib_cell_placement检查lib cell的pass rate

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?在place之前需要使analyze_lib_cell_placement命令去检查lib cell在当前的site row/power plan/legalize设置的环境下能够正常place和legalize。下面分享一个脚本去报告pass rate低于2%的lib cell。

m0_61544122的博客 675

Android点击这个关闭那个,Android 关闭多个Activity的实现方法

Android 关闭多个Activity的实现方法总的来说有四种方法:1、使用Application来进行关闭public class App extends Application {private static List lists = new ArrayList<>();public static void addActivity(Activity activity) {list...

weixin_39597636的博客 316

零基础入门转录组数据可视化——绘制差异小提琴图(常规)

转录组数据可视化之一,先介绍相关基础知识,其次用实际案例为基础,由浅入深介绍差异小提琴图绘制的全过程,包括内容有相关代码和截屏。

呆猪儿的博客 637

Android 关闭多个Activity总结

在项目中,有时候遇到一种情况,同时关闭多个activity,它们有的是单一的层次调用关系,但也有的是多个activity调用同一个activity。比如有两个Activity,A和B,在业务上A和B都会跳转到C,C又跳转到了D,这样子A和B->C->D的层次关系,现在如果要关闭D的同时关闭C并刷新A和B,如果是其它的平台可能会在D里面的到D的调用者C,而android系统本身机制目前不具有这样的功

IT_醉仙的专栏 1755

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

一次关闭多个Activity

首先说一下原理,就是在要关闭多个Activity的地方发出一个广播,而要关闭的那些Activity中,注册这些广播,这样就能一下关闭多个了。 当然为了代码的良好,我们应该申明一个叫做BaseActivity的Activity,这样就只需要在一个地方写代码就可以了。 首先我们在BaseActivity中声明一个广播接收者,代码如下:protected BroadcastReceiver finis

u013619657的专栏 1012

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

android 关闭多个或指定activity

打开了。activityA,B,C,D,...然后到E一起关闭前面所有activity(转自:http://blog.youkuaiyun.com/lengguoxing/article/details/42145641)(详细:http://blog.youkuaiyun.com/u010205141/article/details/44153377) 1 public class CacheActi...

angen3675的博客 127

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Android中一个Activity关闭另一个Activity或者在一个Activity中关闭多个Activity

前言最近项目中涉及需要在一个Activity中关闭另一个Activity或者在一个Activity中关闭多个Activity的需求,不涉及到应用的退出。自己首先想了一些方案,同时也查了一些方案,就各个方案比较下优劣。方案一广播的方式这个是最容易想到的,同时也是网上提供最多的。由于多个Activity要使用,关闭页面的广播最好写在基类BaseActivity中,也可以在各个子页面单独写,但是代码量就...

qq_32120667的博客 2868

Android关闭指定的Activity或多个Activity

接触过Android的应该都知道关闭一个Activity直接调用finish()就好啦!但项目中偶尔会遇到在某个Activity中关闭另一个Activity的需求。举个栗子,比如开发某个APP,用户从“登录界面A”跳转到“主界面B”,然后在“主界面B”跳转到"个人中心C",此时用户在"个人中心C"点击了“注销”按钮,那么这个时候应该是要跳转到“登录界面A”,并且“主界面B”和“个人中...

生擒嫦娥炖玉兔的博客 3794

Android 一次性关闭多个Activity

Android开发中,有时需要一次性关闭多个Activity但不退出应用,这时我们可以通过管理一个ArrayList来实现。具体如下: public class ActivityControl { private static final String TAG = "ActivityControl"; private static ActivityControl sInsta...

明华的博客 2241

Android开发之关闭多个Activity

定义一个基类Activity: /** * Created by Administrator on 2016/3/3 0003. */ public class BaseActivity extends AppCompatActivity{ BroadcastReceiver receiver = new BroadcastReceiver() { @Overr

花花young 1万+

如何关闭打开了多个activity的activity

专门建立一个类,内部有一个静态的linklist对象,用来记录打开的activity,如果该ACTIVITY没有被打开过,在每一个activity oncreate方法中将自己的实例加入这个list。 要退出的时候,遍历这个list,依次finish即可 具体参考: http://blog.youkuaiyun.com/lengguoxing/article/details/42145641 转载于:h...

weixin_30381317的博客 103

Android 关闭多个Activity

import java.util.LinkedList; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.app.Application; import android.content.DialogInterface; import android.

li5685918的博客 935

Android点击这个关闭那个,Android关闭指定的Activity或多个Activity

接触过Android的应该都知道关闭一个Activity直接调用finish()就好啦!但项目中偶尔会遇到在某个Activity中关闭另一个Activity的需求。举个栗子,比如开发某个APP,用户从“登录界面A”跳转到“主界面B”,然后在“主界面B”跳转到"个人中心C",此时用户在"个人中心C"点击了“注销”按钮,那么这个时候应该是要跳转到“登录界面A”,并且“主界面B”和“个人中心界面C”都应...

weixin_39909001的博客 637

android 退出时 同时关闭多个activity

在实际开发中 总会遇到退出项目 要关闭很多个activity。这个方法很多 我个人比较喜欢下面这种,因为比较简单。而且很好理解。简单来说 就是创建一个application类,里边有一个以activity为泛型的列表,没启动一个activity就把他放入到列表中,最后退出时遍历列表,关闭每个activity。代码如下首先创建一个ExitApplication。代码如下public class Ex

学无止境 784
上一篇: android 百度地图 wgs84和baidu09坐标转换
下一篇: Android使用http协议实现文件的上传
blueangle17
博客等级 码龄16年 78粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值