Android 一次性关闭所有的activity 完全退出应用

菜单返回功能键,这个方法也只能用system.exit(0)来关闭当前活动的Activity,如果已经启动了四个Activity:A,B,C和D,在D Activity里,想要一次性关闭所有的activity

创建一个专门用来处理activity的类。

package com.layout;

import java.util.LinkedList; 
import java.util.List; 
import android.app.Activity; 
import android.app.Application; 
/**
 * 一个类 用来结束所有后台activity
 * @author Administrator
 *
 */
public class SysApplication extends Application {
	//运用list来保存们每一个activity是关键
    private List mList = new LinkedList();
    //为了实现每次使用该类时不创建新的对象而创建的静态对象
    private static SysApplication instance; 
    //构造方法
    private SysApplication(){}
    //实例化一次
    public synchronized static SysApplication getInstance(){ 
        if (null == instance) { 
            instance = new SysApplication(); 
        } 
        return instance; 
    } 
    // add Activity  
    public void addActivity(Activity activity) { 
        mList.add(activity); 
    } 
    //关闭每一个list内的activity
    public void exit() { 
        try { 
            for (Activity activity:mList) { 
                if (activity != null) 
                    activity.finish(); 
            } 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } finally { 
            System.exit(0); 
        } 
    } 
    //杀进程
    public void onLowMemory() { 
        super.onLowMemory();     
        System.gc(); 
    }  
}
 

在每个activity被创建时加上
SysApplication.getInstance().addActivity(this);  
将该activity添加到list中去。
 
当你想关闭时,调用SysApplication的exit方法
//关闭整个程序  
SysApplication.getInstance().exit();  

转载自:

http://java--hhf.iteye.com/blog/1826880

http://blog.sina.com.cn/s/blog_90cdca4c01016gzt.html

你可能感兴趣的:(Android)