package com.mgw.member.ui.activity; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import com.easemob.chat.EMChatManager; import com.easemob.chat.EMMessage; import com.easemob.chat.EMMessage.Type; import com.easemob.util.EasyUtils; import com.hx.hxchat.utils.CommonUtils; import com.mgw.member.manager.BeepManager; import com.mgw.member.ottoEvent.BusProvider; import com.mgw.member.ottoEvent.MallFragmentNeedRefreshEvent; import com.mgw.member.uitls.AppManager; import com.mgw.member.uitls.LogUtils; import com.mgw.member.R; import com.squareup.otto.Subscribe; import com.umeng.analytics.MobclickAgent; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.NotificationCompat; import android.util.Log; import android.view.View; /** * 所有Activity的基类,继承于ActionBarActivity * @author huyan * */ /** * 所有Activity的基类,继承于ActionBarActivity * * @author huyan * */ public class MGWBaseActivity extends BaseActivity { /** 记录处于前台的Activity */ private static MGWBaseActivity mForegroundActivity = null; /** 记录所有活动的Activity */ private static final List<MGWBaseActivity> mActivities = new LinkedList<MGWBaseActivity>(); protected Context mContext; public int useCount = 0; public BeepManager beepManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // requestWindowFeature(Window.FEATURE_NO_TITLE); // getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); mContext = this; init(); initView(); beepManager = new BeepManager(this); AppManager.getAppManager().addActivity(this); initActionBar(); } @Override protected void onResume() { mForegroundActivity = this; super.onResume(); } @Override protected void onPause() { mForegroundActivity = null; super.onPause(); } /** * 初始化数据 */ protected void init() { } /** * 初始化view */ protected void initView() { } /** * 初始化ActionBar */ protected void initActionBar() { } /** 关闭所有Activity */ public static void finishAll() { List<MGWBaseActivity> copy; synchronized (mActivities) { copy = new ArrayList<MGWBaseActivity>(mActivities); } for (MGWBaseActivity activity : copy) { activity.finish(); } } /** 关闭所有Activity,除了参数传递的Activity */ public static void finishAll(MGWBaseActivity except) { List<MGWBaseActivity> copy; synchronized (mActivities) { copy = new ArrayList<MGWBaseActivity>(mActivities); } for (MGWBaseActivity activity : copy) { if (activity != except) activity.finish(); } } /** 是否有启动的Activity */ public static boolean hasActivity() { return mActivities.size() > 0; } /** 获取当前处于前台的activity */ public static MGWBaseActivity getForegroundActivity() { return mForegroundActivity; } /** 获取当前处于栈顶的activity,无论其是否处于前台 */ public static MGWBaseActivity getCurrentActivity() { List<MGWBaseActivity> copy; synchronized (mActivities) { copy = new ArrayList<MGWBaseActivity>(mActivities); } if (copy.size() > 0) { return copy.get(copy.size() - 1); } return null; } /** 推出应用 */ public void exitApp() { finishAll(); android.os.Process.killProcess(android.os.Process.myPid()); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); AppManager.getAppManager().finishActivity(this); } private boolean isConflictDialogShow; public void back(View v){ finish(); } }