package com.casic.gasoperation; import android.app.Activity; import android.app.ProgressDialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import android.os.Message; import com.casic.gasoperation.utils.Msg; import com.umeng.analytics.MobclickAgent; import java.util.ArrayList; import java.util.List; public abstract class BaseActivity extends Activity { private ProgressDialog progressDialog = null; public static List<Activity> activedActivity = new ArrayList<Activity>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (!activedActivity.contains(this) && !(this.getClass().getSimpleName()== "LoginActivity")) { activedActivity.add(this); System.out.println(activedActivity); } } @Override protected void onStart() { super.onStart(); } @Override protected void onResume() { super.onResume(); MobclickAgent.onResume(this); } @Override protected void onPause() { super.onPause(); MobclickAgent.onResume(this); } /** * 消息处理句柄 */ protected Handler baseHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); BaseActivity.this.handleMessage(msg); } }; protected abstract void handleMessage(Message msg); protected abstract void onCancelProgress(DialogInterface arg0); protected void finishAllActivity() { for (Activity activity : activedActivity) { if (activity != this) { activity.finish(); } } activedActivity.clear(); this.finish(); } /** * 显示一个对话框 * * @param message * 对话框内容 * @param title * 对话框标题 */ protected void showProgress(String message, String title) { if (progressDialog != null && progressDialog.isShowing()) { progressDialog.setTitle(title); progressDialog.setMessage(message); return; } progressDialog = Msg.showProgressDialog(BaseActivity.this, message, title); progressDialog.setCancelable(false); progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { @Override public void onCancel(DialogInterface arg0) { BaseActivity.this.onCancelProgress(arg0); } }); } /** * 关闭一个对话框 */ protected void closeProgress() { if (progressDialog != null) { progressDialog.dismiss(); progressDialog = null; } } }