Ejemplo n.º 1
0
  private void connect(Context ctx, final InitCallback callback) {

    try {
      androidClient = new MqttAndroidClient(ctx, url, deviceId, clientPersistance);
      androidClient.connect(
          opts,
          ctx,
          new IMqttActionListener() {

            @Override
            public void onFailure(IMqttToken arg0, Throwable arg1) {
              Log.i(DEBUG_TAG, "Could not connect to MQTT broker: " + arg1.getMessage());
              callback.error(new ClearBladeException(arg1.getMessage()));
            }

            @Override
            public void onSuccess(IMqttToken arg0) {
              Log.i(DEBUG_TAG, "Client Connected");
              if (isSubscribed) {
                Iterator<String> it = Message.subscribed.iterator();
                while (it.hasNext()) {
                  subscribe(it.next());
                }
              }
              callback.done(true);
            }
          });
      androidClient.setCallback(this);

    } catch (MqttException err) {
      Log.i(DEBUG_TAG, err.getLocalizedMessage());
    }
  }