package com.partynetwork.iparty.app.ui; import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity; import com.lidroid.xutils.DbUtils; import com.openfire.manager.XmppConnection; import com.partynetwork.iparty.R; import com.partynetwork.iparty.app.AppContext; import com.partynetwork.iparty.app.AppManager; import com.partynetwork.iparty.app.common.UIHelper; import com.partynetwork.iparty.app.manager.MessageManager; import com.partynetwork.iparty.app.manager.NoticeManager; import eu.inmite.android.lib.dialogs.ISimpleDialogListener; import android.os.Bundle; import android.view.Window; /** * 共通处理父类 所有的Activity都应该继承于和其同级的Activity * */ public class BaseActivity extends SlidingFragmentActivity implements ISimpleDialogListener { /** Activity个数的计数器 */ private static int mRef = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 添加Activity到堆栈 AppManager.getAppManager().addActivity(this); mRef++; this.requestWindowFeature(Window.FEATURE_NO_TITLE); setTheme(R.style.DefaultLightTheme); } @Override public void onBackPressed() { if (mRef <= 1) { UIHelper.Exit(this); } else { super.onBackPressed(); } } @Override protected void onDestroy() { mRef--; super.onDestroy(); // 结束Activity&从堆栈中移除 AppManager.getAppManager().finishActivity(this); } @Override public void onPositiveButtonClicked(int requestCode) { } @Override public void onNegativeButtonClicked(int requestCode) { if (requestCode == UIHelper.APP_EXIT) { AppManager.getAppManager().AppExit(this); } else if (requestCode == 42) { AppManager.getAppManager().stopService(this); XmppConnection.getInstance().closeConnection(); AppContext appContext = (AppContext) getApplication(); //不同用户,消息 信息的实例应该不同 MessageManager.getInstance(appContext).cleanManager(); NoticeManager.getInstance(appContext).cleanManager(); appContext.Logout(); UIHelper.showLoginPage(this); } } }