Почему Eclipse Paho Android MQTT Client возвращает ошибку подписки? - PullRequest
0 голосов
/ 01 марта 2019

Я не могу подписаться на тему MQTT из моего приложения для Android.Когда я вызываю функцию SubscribeToTopic, я получаю следующую ошибку

"подписка на имя пользователя / каналы / тема не выполнена: недоступно"

Вот код для подписки

    private void SubscribeToTopic(String TopicName, int Qos) {
    try {
        if (client.isConnected()) {
            client.subscribe(TopicName, Qos, null, new IMqttActionListener() {
                @Override
                public void onSuccess(IMqttToken asyncActionToken) {
                    Log.d("Subscribtion", "Succeed");
                }

                @Override
                public void onFailure(IMqttToken asyncActionToken, Throwable exception) {
                    Log.d("Subscribtion", "Failed", exception);
                }
            });
        }
    }
    catch (MqttException exception)
    {
        Log.d("Subscribtion","Failed",exception);
    }
}

ПРИМЕЧАНИЕ: Я использую Eclipse Paho в качестве моего MQTT-клиента и Adafruit IO в качестве брокера.TopicName - это что-то вроде UserName/feeds/Topic, а Qos - 0

1 Ответ

0 голосов
/ 03 марта 2019

Потратив часы, наконец-то нашел решение.С кодом проблем не было, я только сменил тему на публичный режим на панели управления Adafruit IO, и это сработало.Единственное, чего я не могу понять, это то, почему можно подписаться на приватную тему из библиотеки Arduino, но она не работает в Android.

...