参考网友的代码,我这里总结了下,希望能够帮助到大家,也供我以后的使用。不多少了,直接上代码:
首先写一个基类,这个基类继承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来继承这个基类就可以了。