android常用封装 --- BaseActivity
- public abstract class BaseActivity extends Activity {
 - /**
 - * 记录处于前台的Activity
 - */
 - private static BaseActivity mForegroundActivity = null;
 - /**
 - * 记录所有活动的Activity
 - */
 - private static final List<BaseActivity> mActivities = new LinkedList<BaseActivity>();
 - @Override
 - protected void onCreate(Bundle savedInstanceState) {
 - super.onCreate(savedInstanceState);
 - initView();
 - initFindViewById();
 - initData();
 - initEvent();
 - // initActionBar();
 - }
 - @Override
 - protected void onResume() {
 - mForegroundActivity = this;
 - super.onResume();
 - }
 - @Override
 - protected void onPause() {
 - mForegroundActivity = null;
 - super.onPause();
 - }
 - abstract protected void initView();
 - abstract protected void initData();
 - protected void initActionBar() {
 - }
 - /**
 - * 关闭所有Activity
 - */
 - public static void finishAll() {
 - List<BaseActivity> copy;
 - synchronized (mActivities) {
 - copy = new ArrayList<BaseActivity>(mActivities);
 - }
 - for (BaseActivity activity : copy) {
 - activity.finish();
 - }
 - }
 - /**
 - * 关闭所有Activity,除了参数传递的Activity
 - */
 - public static void finishAll(BaseActivity except) {
 - List<BaseActivity> copy;
 - synchronized (mActivities) {
 - copy = new ArrayList<BaseActivity>(mActivities);
 - }
 - for (BaseActivity activity : copy) {
 - if (activity != except)
 - activity.finish();
 - }
 - }
 - /**
 - * 是否有启动的Activity
 - */
 - public static boolean hasActivity() {
 - return mActivities.size() > 0;
 - }
 - /**
 - * 获取当前处于前台的activity
 - */
 - public static BaseActivity getForegroundActivity() {
 - return mForegroundActivity;
 - }
 - /**
 - * 获取当前处于栈顶的activity,无论其是否处于前台
 - */
 - public static BaseActivity getCurrentActivity() {
 - List<BaseActivity> copy;
 - synchronized (mActivities) {
 - copy = new ArrayList<BaseActivity>(mActivities);
 - }
 - if (copy.size() > 0) {
 - return copy.get(copy.size() - 1);
 - }
 - return null;
 - }
 - protected void initFindViewById() {
 - }
 - protected void initEvent() {
 - }
 - /**
 - * 退出应用
 - */
 - public void exitApp() {
 - finishAll();
 - android.os.Process.killProcess(android.os.Process.myPid());
 - }
 - }
 
                    
                

                
            
        
浙公网安备 33010602011771号