android退出Activity

对于单一Activity的应用来说,直接finish() 或者killProcess()和System.exit() 退出。

但是对于多Activity个可以使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(通过List来存放)专门负责存储新开启的每一个Activity,实例代码:

MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作) 
public class MyApplication extends Application {

private List<Activity> activityList = new LinkedList<Activity>(); 
private static MyApplication instance;

private MyApplication() 


//单例模式中获取唯一的MyApplication实例 
public static MyApplication getInstance() 

if(null == instance) 

instance = new MyApplication(); 

return instance; 

//添加Activity到容器中 
public void addActivity(Activity activity) 

activityList.add(activity); 

//遍历所有Activity并finish 
public void exit() 

for(Activity activity:activityList) 

activity.finish(); 

System.exit(0); 


在每一个Activity中的onCreate方法里添加该Activity到MyApplication对象实例容器中 
MyApplication.getInstance().addActivity(this); 
在需要结束所有Activity的时候调用exit方法 
MyApplication.getInstance().exit();

时间: 2024-08-24 20:16:40

android退出Activity的相关文章

Android 退出Activity

在一个Process或一个处理线程中退出Activity可以用context来退出,如下: ((Activity)context).finish(); Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A.在B中如何关闭整个Android应用程序呢?本人总结了几种比较简单的实现方法. 1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myP

android开发完全退出activity

我们退出Activity可以调用:finish(),system(0),但是这些都只是单单退出单个Activity 也有人会说,直接把进程杀死,这些做法都不是很可取,其实我们翻看api可以发现,Activity 都是放入stack中管理,我们只要把stack清空了,不就完全退出了嘛.要对Activity的stack 管理,就需要了解launchMode的四种状态,这里就不多说了,自己看看api. 我们就利用android:launchMode="singleTop",当该Activit

Activity之taskAffinity属性、allowTaskReparenting属性和Android退出整个应用解决方案

allowTaskReparenting属性 属性: android:allowTaskReparenting 除了launchMode可以用来调配Task,的另一属性taskAffinity,也是常常被使用.taskAffinity,是一种物以类聚的思想,它倾向于将taskAffinity属性相同的Activity,扔进同一个Task中.不过,它的约束力,较之launchMode而言,弱了许多.只有当中的allowTaskReparen ting设置为true,抑或是调用方将Intent的fl

android退出登陆后,清空之前所有的activity,进入登陆主界面

如题: android退出登陆后,清空之前所有的activity,进入登陆主界面 在退出登陆时只需要增加一个intent标志 Intent intent_login = new Intent(); intent_login.setClass(SettingActivity.this,MyActivity.class); intent_login.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //关键的一句,将新的activity置为栈顶 startActiv

Android退出时退出所有Activity的通用类,ActivityManager

做Android项目,退出程序时,有时不能退出所有的activity,这时我们就需要在退出时,关闭所有的activity.思路:当activity创建的时候把当前的Activity对象存放起来,等到退出的时候,关闭所有的Activity.为此,写了一个MyApplication类,用于存放所有的Activity.代码如下: import java.util.LinkedList; import java.util.List; import android.app.Activity; /** *

Android双击返回键退出Activity的两种方法

在开发应用程序的时候,有一种功能是非常常用到的,那就是迅速双击返回按钮,然后实现退出Activity的功能.本人在网上看了很多资料代码,总结起来,主要有两种比较好的方式.一种是开线程延时执行,一种是记录按键时间计算时间差实现.现在跟大家分享一下,代码如下,希望对大家有帮助: 第一种:利用线程延时实现: private int mBackKeyPressedTimes = 0; @Override public void onBackPressed() { if (mBackKeyPressedT

Android 在Activity中对SQLite的操作

注册 package com.scme.ui; 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.EditText; import and

玩转Android之Activity详细剖析

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文主讲了什么是Activity,它的生命周期,不对的操作,调用了什么函数.以及不同的Activity之间的跳转.数据传递等. Activity 是用户接口程序,原则上它会提供给用户一个交互式的接口功能.它是 android 应用程序的基本功能单元.Activity 本身是没有界面的.所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到

java攻城狮之路(Android篇)--Activity生命

1 写一个类 extends Activity Activity是android的四大组件之一. Activity的激活分为显式意图激活和隐式意图激活. 如果一个activity希望别人隐式意图激活:则要配置过滤器1 action = ""2 有一个缺省的category,(可以有多个category),若不配置该类型会发生这样的一个错误:Caused by: android.content.ActivityNotFoundException: No Activity found to