public static ToastManager getInstance(Context context) {
   if (instance == null) {
     instance = new ToastManager();
   }
   instance.context = context;
   return instance;
 }
 @Override
 protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   mContext = this;
   BaseApplication.addActivity(this);
   baseAttribute = new ActivityBaseAttribute(this);
   onInitAttribute(baseAttribute);
   baseAttribute.setContentView();
   toastManager = ToastManager.getInstance(getApplicationContext());
   onInitBaseActivity();
   addCallbackEventListener(EventCode.CALLBACK_APPLICATION_NOTIFICATION_TO_ACTIVITY);
   addCallbackEventListener(EventCode.CALLBACK_SAME_ACCOUNT_ANOTHER_PLACE_LOGIN);
   addCallbackEventListener(EventCode.CALLBACK_IN_FRAGMENT_TASK_ACTIVITY_THAT_NET_ERROR);
 }
  @Override
  public void onEventRunEnd(MobileCashBaseEvent event) {
    // TODO Auto-generated method stub
    if (isFinishing()) {
      return;
    }
    eventCode = event.getEventCode();

    if (event instanceof HttpEvent) {
      if ((!((HttpEvent) event).isNetSuccess())
          || (((HttpEvent) event).isServerIsServerNotArrabile())
          || (((HttpEvent) event).isUnAuthorized())
          || (((HttpEvent) event).isServerIsNotArrabileNOTKonwnREson())) {
        DialogUtils.dissMissLoading(eventCode);
        toastManager.show(R.string.http502badgetawayShowing);
        return;
      }
    }
    if (EventCode.HTTP_POST_SHOPMANAGERACCOUNT_LOGIN_IN == event.getEventCode()) {
      DialogUtils.dissMissLoading(EventCode.HTTP_POST_SHOPMANAGERACCOUNT_LOGIN_IN);
      final MoblieCashLoginUpEvent loginUpEvent = (MoblieCashLoginUpEvent) event;
      if (loginUpEvent.isNetSuccess()) {
        if (loginUpEvent.isOk()) {
          if (loginUpEvent.getResult() > 0) {
            BaseApplication.getLocalManager().setRoleType(loginUpEvent.getResult());
            BaseApplication.getLocalManager()
                .saveLoginForCashierAppUp(
                    loginForCashierAppUp.getUsername(), loginForCashierAppUp.getPassword());
            BaseApplication.setisLogined(true);
            if (this.getClass().getName().equals(LoginActivity.class.getName())
                || this.getClass().getName().equals(RegisterActivity.class.getName())) {
              MainActivity.launch(this);
            }
          }
        } else {
          if (loginUpEvent.getErrorObject() == null) {
            toastManager.show(loginUpEvent.getStrHttpResult());
          } else {
            toastManager.show(ErrorObject.formatError(loginUpEvent.getErrorObject()));
          }
        }
      }
      return;
    } else if (EventCode.HTTP_POST_SHOPMANAGERACCOUNT_LOGIN_OUT == event.getEventCode()) {
      DialogUtils.dissMissLoading(EventCode.HTTP_POST_SHOPMANAGERACCOUNT_LOGIN_OUT);
      final MoblieCashLogOutEvent moblieCashLogOutEvent = (MoblieCashLogOutEvent) event;
      if (moblieCashLogOutEvent.isNetSuccess()) {
        if (moblieCashLogOutEvent.isOk()) {
          if (moblieCashLogOutEvent.getResult() != null
              && moblieCashLogOutEvent.getResult().equals("ok")) {
            BaseApplication.logout();
            if (!this.getClass().getName().equals(LoginActivity.class.getName())) {
              LoginActivity.launch(this);
            }
          }
        } else {
          BaseApplication.logout();
          if (!this.getClass().getName().equals(LoginActivity.class.getName())) {
            LoginActivity.launch(this);
          }
        }
      }
      return;
    } else if (eventCode == EventCode.CALLBACK_APPLICATION_NOTIFICATION_TO_ACTIVITY) {
      DialogUtils.dissMissLoading();
      MobileCashBaseCallbackEvent applicationCallbackEvent = (MobileCashBaseCallbackEvent) event;
      Object object = applicationCallbackEvent.getReturnParam();
      if (object instanceof HttpEvent) {
        HttpEvent event2 = (HttpEvent) object;
        if (!((HttpEvent) event2).isNetSuccess()) {
          toastManager.show("服务器" + URLUtils.HOST + "\n" + getString(R.string.no_net));
          return;
        } else if (((HttpEvent) event2).isServerIsServerNotArrabile()) {
          toastManager.show(R.string.http502badgetawayShowing);
          return;
        } else if (((HttpEvent) event2).isUnAuthorized()) {
          toastManager.show(R.string.http401unAuthorizedShowing);
          return;
        } else if (((HttpEvent) event2).isServerIsNotArrabileNOTKonwnREson()) {
          toastManager.show(R.string.httpsNotArrabileNOTKonwnREsonShowing);
          return;
        } else if (((HttpEvent) event2).isMethodNotAllowed()) {
          if (((HttpEvent) event2).getErrorObject() != null) {
            if (((HttpEvent) event2).getErrorObject().getCode() == 4) // 未登录退出重登
            {
              showMessageAndJumpToLogin("你的账号还未登陆,请重登!");
            }
          } else if (((HttpEvent) event).getErrorObject().getCode() == 45) // 被踢掉退出重登
          {
            showMessageAndJumpToLogin("你的账号在其他设备登陆,你已经被迫下线!");
            return;
          }
        } else {
          toastManager.show(applicationCallbackEvent.getReturnParam().toString());
        }
      } else {
        toastManager.show(applicationCallbackEvent.getReturnParam().toString());
      }
      return;
    } else if (eventCode == EventCode.CALLBACK_SAME_ACCOUNT_ANOTHER_PLACE_LOGIN) {
      showMessageAndJumpToLogin("你的账号在其他设备登陆,你已经被迫下线!");
      return;
    } else if (eventCode == EventCode.CALLBACK_IN_FRAGMENT_TASK_ACTIVITY_THAT_NET_ERROR) {
      showMessageAndJumpToLogin("网络异常,你已经被迫下线!");
      return;
    }
  }