@Override
  public int onStartCommand(final Intent intent, final int flags, final int startId) {
    super.onStartCommand(intent, flags, startId);

    if (intent == null) {
      return START_STICKY;
    }

    String action = intent.getAction();
    mLogger.fine("request action: " + action);
    if (action == null) {
      return START_STICKY;
    }

    Bundle resExtra = new Bundle();

    resExtra.putInt(DConnectMessage.EXTRA_RESULT, DConnectMessage.RESULT_ERROR);
    resExtra.putInt(
        DConnectMessage.EXTRA_REQUEST_CODE,
        intent.getIntExtra(DConnectMessage.EXTRA_REQUEST_CODE, -1));
    Intent response = MessageUtils.createResponseIntent(intent.getExtras(), resExtra);
    if (BuildConfig.DEBUG) {
      response.putExtra("debug", "DevicePlugin");
    }

    if (IntentDConnectMessage.ACTION_GET.equals(action)
        || IntentDConnectMessage.ACTION_POST.equals(action)
        || IntentDConnectMessage.ACTION_PUT.equals(action)
        || IntentDConnectMessage.ACTION_DELETE.equals(action)) {
      onRequest(intent, response);
    }

    return START_STICKY;
  }
  @Override
  public int onStartCommand(final Intent intent, final int flags, final int startId) {
    super.onStartCommand(intent, flags, startId);

    if (intent == null) {
      mLogger.warning("request intent is null.");
      return START_STICKY;
    }

    String action = intent.getAction();
    if (action == null) {
      mLogger.warning("request action is null. ");
      return START_STICKY;
    }

    if (checkRequestAction(action)) {
      onRequest(intent, MessageUtils.createResponseIntent(intent));
    }

    return START_STICKY;
  }