您的位置:首页 > 移动开发 > Android开发

Android退出程序

2012-05-09 22:22 197 查看
1、

Intent startMain = new Intent(Intent.ACTION_MAIN);

startMain.addCategory(Intent.CATEGORY_HOME);

startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

//startMain.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

startActivity(startMain);

System.exit(0);//退出程序

2、

模拟一个activity栈:

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方法就可以将程序完全结束。

* Copyright: Copyright (c) wegosoft.info 2011

* @author: 李辉

* email: fzlihui@gmail.com

* @version: 1.0

* Create at: 2011-8-8 下午05:15:51

*/
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()中加上一句:ActivityStackControlUtil.add(this);

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

protected void onDestroy() {

super.onDestroy();

//移出管理栈

ActivityStackControlUtil.remove(this);

}

最后在要完全退出程序的地方调用:ActivityStackControlUtil.finishProgram();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: