參考網友的代碼,我這裏總結了下,希望能夠幫助到大家,也供我以後的使用。不多少了,直接上代碼:
首先寫一個基類,這個基類繼承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來繼承這個基類就可以了。