如何随时随地退出Activity,在退出Activity的时候关闭之前的Activity,如何退出程序所有Activity

这是一个基础的问题,没什么难度,只是一个小的逻辑的问题的实现。为了以后有需要方便,保存下来。新学习的同学可以参考下。

首先,在写项目的时候一般我们会写BaseActivity,这个类 继承Activity其他Activity继承BaseActivity。

所以,思路就是  我们写一个ActivityCollector  这样一个类用来添加和移除 Activity ,每一个activity都继承BaseActivity  所以我们可以再BaseActivity的onCreate方法中把当前

Activity添加到集合中,  执行OnDestory的时候我们在移除,这样我们最后一个界面的的时候可以移除这个集合里所有的activity这样就不会有打开一个activity的时候 在退出时,要一个一个退出了。

ActivityCollector类的实现

这个类就三个方法 ,相信大家都能看懂 不解释

BaseActivity的实现  一个简单的DEMO 没有其他的逻辑的实现

这样子类继承这个类的时候 就会 执行添加 和 finsh 当前Activity了,从而就把activity管理起来了

三个测试的Activity    逻辑是分别 继承BaseActivity   然后MainActivity 里面一个按钮来打开SecoundActivity    然后SecoundActivity打开第三个Atcivity,  第三个Activity里面有一个按钮 是用来实现关闭所有的,这时候就可以调用ActivityCollector 的finshAll()方法

时间: 2025-01-13 17:33:21

如何随时随地退出Activity,在退出Activity的时候关闭之前的Activity,如何退出程序所有Activity的相关文章

[Activity]直接退出应用的方法

Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A.在B中如何关闭整个Android应用程序呢?本人总结了几种比较简单的实现方法. 1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid())    //获取PIDSystem.exit(0);   //常规java.c#的标准退出法,返回值为0代表正常退出 2. 任务管理器方法 首

利用Theme自定义Activity进入退出动画

有没有觉得Activity的默认动画太快了或者太难看了.. 我原来使用Activity.overridePendingTransition来自定义Activity的进入动画,却发现没法定义退出的动画.结果就发现了强大的Theme和Style,之后还需要好好研究一下. 具体是这样子的: 在AndroidManifest里面,对于application和activity标签可以定义theme属性.如果对Application定义了某一个属性,那么会对所有的activity产生影响,当然你可以在act

关于startActivityForResult()方法后Activity直接退出的问题原因和解决办法

现象: 今天在做调用相机拍照然后进行一些裁剪后显示的Demo.大题思路就是这样 private final View.OnClickListener onClickListener = new View.OnClickListener() { @Override public void onClick(View v) { if(v==btnPhone){ //从相册获取图片 Intent intent = new Intent(Intent.ACTION_PICK, null); intent.

Android UI效果实现——Activity滑动退出效果

更新说明: 1.在QQ网友北京-旭的提醒下,在SlideFrame的initilize方法中添加了focusable.focusableInTouch.clickable的状态设置,否则会导致部分情况下无法滑动,感谢! 一.使用说明 使用方法很简单,只有一个类HorizontalActivity,继承自FragmentActivity类,实现了contentView的滑动事件触发和动画效果,要在自己的代码里实现,方法两种: 1.如果对Activity没特殊要求,直接继承HorizontalAct

设置Activity进入退出动画

http://blog.csdn.net/tenpage/article/details/7792689 http://blog.csdn.net/lnb333666/article/details/8962715 http://blog.csdn.net/hanjieson/article/details/9622337 http://www.cnblogs.com/lianghui66/p/3645496.html 其实设置Activity动画的根本也就是设置View的动画,因为Activi

erlang监控进程在启动进程退出后异常退出原因分析

一.问题引出 erlang监控进程在启动时设置了trap_exit为true,即会捕获到退出信号,会将退出信号转换为{'EXIT',Pid,Reason}存入自己的邮箱中,因此与监控进程link关系的进程退出后,监控进程能够很坦然的截获退出信号,自身不退出.启动erlang监控进程的进程,会和监控进程建立link关系,然而当启动进程退出时,监控进程没有象正常的情况,发生了异常退出,为什么设置了trap_exit为true,还会退出呢? 二.原因分析 查看supervisor的源码,supervi

android——activity添加退出动画

在finish()语句后加 //该方法的参数:前者是将要进入activity的进入动画,后者是正要退出activity的动画 overridePendingTransition(R.anim.abc_fade_in,R.anim.login_activity_out); 2.特别注意两个动画的时间要一致:

android style 退出动画 解决退出动画无效问题

在AndroidMenifest.xml文件里面的Activity声明中,增加自己的Theme声明,如下: <activity android:name=".MyOrderListServiceActivity" android:theme="@style/MyTheme" > 在values的style.xml文件里 声明 一个style,起名为MyTheme,注意这里面有我自定义的东西,涉及到动画的声明,就只有 <item name="

android在学习——activity关闭和dialog.dismiss冲突的解决(Activity has leaked window com.android.internal.policy.impl.PhoneWindow)

当我们在退出整个程序的时候偶尔会出现这种报错:Activity has leaked window com.android.internal.policy.impl.PhoneWindow 其意思大概就是:窗体已经关闭了但是dialog仍然在显示,Activity has leaked window(activity渗透出窗体),大概就是这个意思. 那么就要在activity finish()之前将dialog dismiss()掉. 我的做法就是重写本activity的onDestroy()方