Paho MqttAndroidClient.connect всегда терпит неудачу

Я хотел бы публиковать сообщения с Android service на локальный сервер. Вот части моего кода в простейшей форме, основанные на фрагментах из здесь .

MemoryPersistence memPer;
MqttAndroidClient client;

@Override
public IBinder onBind(Intent intent) {
    memPer = new MemoryPersistence();
    client = new MqttAndroidClient(this, "tcp://192.168.1.42:1883", "clientid", memPer);

    try {
        client.connect(null, new IMqttActionListener() {

            @Override
            public void onSuccess(IMqttToken mqttToken) {
                Log.i("MQTT", "Client connected");
                Log.i("MQTT", "Topics=" + mqttToken.getTopics());

                MqttMessage message = new MqttMessage("Hello, I am Android Mqtt Client.".getBytes());
                message.setQos(2);
                message.setRetained(false);

                try {
                    client.publish("messages", message);

                    Log.i("MQTT", "Message published");

                    client.disconnect();
                    Log.i("MQTT", "client disconnected");
                } catch (MqttPersistenceException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (MqttException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }


            }

            @Override
            public void onFailure(IMqttToken arg0, Throwable arg1) {
                // TODO Auto-generated method stub
                Log.i("MQTT", "Client connection failed: " + arg1.getMessage());
            }
        });
    } catch (MqttException e) {
        e.printStackTrace();
    }

    return mBinder;
}

Но функция onFailure всегда вызывается, и я получаю ошибку:

I/MQTT﹕ Client connection failed: cannot start service org.eclipse.paho.android.service.MqttService

Видимо возвращается библиотекой, потому что 'listener! = Null', Строка 410 . Используя отладчик, он показывает, что 'listener = SensorLoggerService $ 1 @ 3634'. SensorLoggerService - это моя услуга.

Есть идеи, что может пойти не так? Большое спасибо.

9
задан Community 23 May 2017 в 12:34
поделиться