Newer
Older
GasOperationApp / app / src / main / java / com / casic / gasoperation / BaseActivity.java
[wangxitong] on 24 May 2021 2 KB first commit
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;
        }
    }
}