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

详解Android完完全全退出应用程序

2012-09-14 16:35 260 查看
参考网友的代码,我这里总结了下,希望能够帮助到大家,也供我以后的使用。不多少了,直接上代码:

首先写一个基类,这个基类继承Activity

package com.jcxc.activity;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

/**

*模板Activity

*/

public class BasicActivity extends Activity {

//退出

private static final int ITEM = Menu.FIRST;

//存Activity

public static List<Activity> sAllActivitys = new ArrayList<Activity>();

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.search_layout);

sAllActivitys.add(this);

}

@Override

public void onDestroy() {

super.onDestroy();

sAllActivitys.remove(this);

}

public static void finishAll() {

for(Activity activity : sAllActivitys) {

activity.finish();

}

sAllActivitys.clear();

}

public static void exit() {

finishAll();

// 这个主要是用来关闭进程的, 关把所有activity finish 的话,进程是不会关闭的

System.exit(0);

}

/**

* 完全退出应用程序

*/

public void exitApp() {

//退出前弹出提示框提示

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("提示");

builder.setMessage("您确定要退出程序吗?");

builder.setPositiveButton("确定",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

exit();

}

});

builder.setNegativeButton("取消",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int whichButton) {

dialog.dismiss();

}

});

builder.show();

//退出前不提示

//exit();

}

//点击Menu时,系统调用当前Activity的onCreateOptionsMenu方法,并传一个实现了一个Menu接口的menu对象供你使用

@Override

public boolean onCreateOptionsMenu(Menu menu) {

//this.getMenuInflater().inflate(R.menu.main_menu, menu);

/*

* add()方法的四个参数,依次是:

* 1、组别,如果不分组的话就写Menu.NONE,

* 2、Id,这个很重要,Android根据这个Id来确定不同的菜单

* 3、顺序,那个菜单现在在前面由这个参数的大小决定

* 4、文本,菜单的显示文本

*/

menu.add(0, ITEM, 0, "退出");

return true;

}

//菜单项被选择事件

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case ITEM:

exitApp();

break;

}

return false;

}

}

然后其他activity来继承这个基类就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: