黑马程序员技术交流社区

标题: android 完全退出程序的实现 [打印本页]

作者: 「青春」zāI路    时间: 2013-9-8 15:18
标题: android 完全退出程序的实现

网上也搜罗了不少方法,但都不能达到真正意义上的退出。先找到一种最有效的方法:模拟一个activity栈:

Java代码

package info.wegosoft.android.util;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

/**  

* Filename:    ActivityStackControlUtil.java

* Package:     info.wegosoft.android.util

* Description: activity栈管理类,每当新产生一个activity时就加入,finish掉一个activity时就remove,这样到最后需要

* 完全退出程序时就只要调用finishProgram方法就可以将程序完全结束。

*/

public class ActivityStackControlUtil {

    private static List<Activity> activityList = new ArrayList<Activity>();

    public static void remove(Activity activity){   

        activityList.remove(activity);

    }      

    public static void add(Activity activity){         

        activityList.add(activity);         

    }      

    public static void finishProgram() {  

        for (Activity activity : activityList) {              

            activity.finish();              

        }      

        android.os.Process.killProcess(android.os.Process.myPid());  

    }

}

       在每一个activity的onCreate()中加上一句:

Java代码

ActivityStackControlUtil.add(this);

       在每一个activity的onDestroy()中加上一句,这个方法保证activity在finish的时候移除自定义的list:  

Java代码

protected void onDestroy() {  

        super.onDestroy();         

        //移出管理栈

        ActivityStackControlUtil.remove(this);         

}  

       最后在要完全退出程序的地方调用:  

Java代码

ActivityStackControlUtil.finishProgram();








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2